当前位置:首页 >资讯 >iOS常见加密算法对比


MD5加密

MD5加密是最常用的加密方法之一,是通过相应的特征从字符串中生成32位数字字母混合码。

MD5算法还具有以下性质:

1.压缩性任何长度的数据,计算出的MD5值长度都是固定的。

2.易于计算:MD5值很容易从原数据中计算出来。

3.抗修改性:对原始数据进行任何修改,即使只修改一个字节,MD5值也有很大差异。

4.弱抗碰撞:已知原始数据及其MD5值,很难找到具有相同MD5值的数据。

5.强抗碰撞:很难找到两种不同的数据,使其具有相同的MD5值。

虽然MD5是不可逆转的,但它是专门用来查询MD5w.cmd5.com的存在,专门用来查询MD5码,所以这里可以找到一些简单的MD5码的源代码。为了让MD5码更安全,还有很多其他方法,比如加盐。很难找到足够长、足够乱的MD5码。

SHA1加密

哈希算法主要适用于数字签名标准中定义的数字签名算法。对于长度小于2-64位的消息,SHA1将生成160位的消息摘要。当收到消息时,该消息摘要可用于验证数据的完整性。在传输过程中,数据很可能会发生变化,此时会产生不同的消息摘要。

SHA1特点:信息摘要无法恢复;两个不同的消息不会产生相同的消息摘要。

HMAC加密

这种加密方法需要先生成密钥,然后对密码进行MD5和HMAC加密。数据库需要存储当时使用的密钥和密码加密后的密文。当用户登录时,再次用密钥加密填写的密码,并添加当前时间。再次加密HMAC,服务器还将取出之前存储的密文加上时间再次加密。因此,即使黑客在中途截取密码,密文也只能在一分钟内破译,这大大提高了安全性。为了考虑网络的延迟,服务器通常会计算出更多的答案。

常见的IOS加密算法比较。

base64加密

在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列组成的文本。使用时,base64指定在传输编码模式中。使用的字符包括26个大小写字母、10个数字、加号+、斜杠/,共64个字符,等号=作为后缀。

RFC1421和RFC可以完整定义base64。

2045.编码后的数据略长于原始数据,为原始数据的4/3。

RSA加密

RSA加密算法需要两个密钥:公开密钥和私钥。公开密钥和私钥是一对。如果用公开密钥加密数据,只能用相应的私钥解密;如果用私钥加密数据,只能用相应的公开密钥解密。

RSA加密算法的特点:算法强度复杂。安全依赖于算法和密钥,但由于其复杂的算法,加密和解密速度不如对称加密和解密速度快。对称密码系统中只有一个密钥,而且是非公开的。如果你想解密,你必须让对方知道密钥。因此,确保其安全是为了确保密钥的安全,而不是对称密钥系统有两个密钥,其中一个是公开的,因此您不需要像对称密码那样传输对方的密钥。 但RSA加密算法效率较差,大数据加密时间较长,一般用于小数据。