Android 下的java.security和windows下的不一样?

来源:互联网 发布:淘宝联盟返利在哪查看 编辑:程序博客网 时间:2024/05/17 06:51

    前端时间要把一个signjar的类移到android中,来给apk文件签名,这样就可以在android系统中生成apk文件。windows下的JDK中的signjar的类使用的是sun.security包,而android提供的加密相关的包是bouncycastle,加密相关的知识短时间内学不了,最快的办法还是把桌面环境下sun.security里面的包移植到android中使用。

    改完能跑,但是算出来的数据总是不对。开始以为是sun.security里面的一些算法在android里面有问题,就一直跟下去记log信息,跟了几天后赫然发现是java.security.MessageDigest类对一段数据进行SHA1加密的结果和windows环境下不一致。于是去网上找了SHA1的算法,替换掉MessageDigest来计算,得到的结果和windows环境下一致,并最终可以正确执行signjar。

    也许是android里面的security包要配合自己的bouncycastle才能正确使用?

原创粉丝点击