您的位置:首页 > 其它

加解密入门

2015-06-17 16:25 411 查看
1.Base64

目的:在传输的过程中,避免出现最高字节为“1”的情况(即需要标准的ascii)。

实现:3字节转换成4字节(至少增加1/3的空间)。在3字节一组中,每六位形成一组,最高两位补0。A-Z a-z 0-9 + / =(pad)。

备注:末尾不足3字节,用0补。最多会出现两个pad(=)。

2.常用的加密算法

(1)RSA加密算法

(2)DSA加密算法

证书:公钥 + 所有者 + CA(发证机关)签名 +
有效期
+。。。

签名:将输入串通过私钥加密转换得到的数字序列。

3. SHA1

安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。

perl sha1(http://perldoc.perl.org/Digest/SHA.html)

4.APK包中的签名文件【1】

(1).MF :每个文件的 整体 SHA1-BASE64编码

(2).SF :MF文件中关于每个文件的hash值的 头三行 SHA1-BASE64编码(可以取出mf每一项的值,保存到文本中)(注意末尾有两个换行)

(3).RSA:十六进制).SF文件的签名 + 开发者公钥 (自己是CA)

5.为什么要对APK签名【2】

(1)签名的原理(http://blog.csdn.net/kickxxx/article/details/18252881)

(2)保证文件的完整性

(3)签名工具:
http://blog.chinaunix.net/uid-17102734-id-2830223.html(java中Keytool的使用总结) http://blog.csdn.net/litton_van/article/details/7109566(生成密钥库以及签名)
6.手动keytool方式签名apk

(1)密钥对的生成

keytool -genkeypair -v -keystore zhouat.keystore -alias zhouat -keyalg RSA -validity 10980




(2)

查看密钥

keytool -list -v -keystore zhouat.keystore




(3)

默认debug模式的RSA



(4)

不签名 (或者签名出错时候)的apk报错:

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

(5)

查看签名信息:

jarsigner -verify -verbose –certs test.apk
(6)对apk文件签名

jarsigner -verbose -keystore zhouat.keystore test.apk zhouat -sigalg SHA1withRSA -digestalg SHA1


备注:此类方式签名比较复杂,使用auto_sign便可以快速完成签名,然后安装。

(7)查看.RSA文件内容(Linux command)

openssl pkcs7 -inform DER -in test.RSA -noout -print_certs -text


参考文献:

【1】

http://blog.csdn.net/xueerfei008/article/details/26339765
http://blog.csdn.net/feiyangxiaomi/article/details/40298155
http://developer.android.com/tools/publishing/app-signing.html#setup
http://www.cnblogs.com/ayanmw/p/3720804.html


【2】

http://www.cnblogs.com/not-code/archive/2011/05/15/2047057.html

【3】(签名比对)

http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html


【4】apk crack

http://www.blogjava.net/zh-weir/archive/2011/06/11/352099.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: