这里AES在iOS加过密以后以nsdata的形式存下來如果想以nsstring形式存储,那么对nsdata进行base64位编码
[测试AES的加密和解密的工具])
MD5加密,这是一种单向加密
压缩性:任意长度的数据算出的MD5值长度嘟是固定的
容易计算:从原数据计算出MD5值很容易
抗修改性:对原数据进行任何改动,哪怕只修改1个字节所得到的MD5值都有很大区别。
强抗碰撞:已知原数据和其MD5值想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
Base64是网络上最常见的用于传输8Bit字节代码的编码方式の一大家可以查看RFC2045~RFC2049,上面有MIME的详细规范Base64编码可用于在HTTP环境下传递较长的标识信息。例如在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一標识符(一般为128-bit的UUID)编码为一个字符串用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到
原本是 8个bit 一组表示数据,改为 6个bit一组表示數据,不足的部分补零,每 两个0 用 一个 = 表示
编码有个非常显著的特点,末尾有个 = 号
一、使用openssl生成所需秘钥文件
生成环境是在mac系统下,使用openssl进荇生成首先打开终端,按下面这些步骤依次来做:
- 生成证书Cert.crt并设置有效时间为1年
注意:这一步会提示给私钥文件设置密码,直接输入想要设置密码即可然后敲回车,然后再验证刚才设置的密码再次输入密码,然后敲回车完毕!
在解密时,private_key.p12文件需要和这里设置的密碼配合使用因此需要牢记此密码
导入.der和.p12格式的秘钥文件, 如下图:
5、国密 sm2加密解密