我是靠谱客的博主 炙热仙人掌,最近开发中收集的这篇文章主要介绍Milenage算法的改写(c,c++变成java),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前段时间,公司要求对C代码的Milenage算法进行java版本的迁移,拿到源代码的时候,心想只要核心那还有什么不好办啊?可现实是残酷的。。

先熟悉流程:

3G程:http://wenku.baidu.com/view/04b46f1c4b73f242336c5ff8

之后做了许多尝试:

1、包括c语言中的char和java中的char是不一样的。

2、C++中还就没有byte类型,java中就有。

3、重温了很多进制转换的问题,2进制转换16进制的字符串等等


最后还是上一些源代码,其中包括GUI版本的Milenage的生成,还有官方3GPP TS 35.206 的文档,也是对这个算法的一个小总结。

后面如果还有机会,想琢磨一些对Milenage算法的破解,毕竟。。。你懂的~

源码下载:请猛戳这里

------------------------------------------------------------------------------------------------------------------------

今日做了一个小优化,主要是针对每次调用getOP()方法的时候,都要读取配置文件,采取的解决方法是在构造方法里加入,这样spring在启动的时候就会加载默认的构造方法


	String op_properties="";
public RPSGeneratorImpl() {
this.op_properties=genOP();
}


之后的调用改为:


@Override
public String getOPC() {
byte[] s = genK();
byte op_c[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
byte[] op = hexStr2Byte(op_properties);//原来是 hexStr2Byte(getOP())

最后,如果你不用spring,也可以这样修改,毕竟读取配置文件是很占资源的。


最后

以上就是炙热仙人掌为你收集整理的Milenage算法的改写(c,c++变成java)的全部内容,希望文章能够帮你解决Milenage算法的改写(c,c++变成java)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部