Heim > Artikel > Backend-Entwicklung > Mcrypt中加密算法和加密模式的有关问题
Mcrypt中加密算法和加密模式的问题
1, 学习php的加密与解密,想了解这些加密算法和加密模式到底是什么原理,应该看哪些资料?
2, 这些加密与解密是在什么基础上的?比如,是不是把UTF-8的文本转化为16进制的数字然后再加密,还是直接转化成二进制进行加密,再或者是其它形式的?
3, 通常,可逆转的加密肯定是用什么密钥协助下,替换明文吧?
------解决方案--------------------
1.原理就是 明文+密钥=密文 密文+密钥=明文 算法没有绝对的 算法的复杂程度决定你加密之后的安全性,当然越复杂数据长度会越大。根据程序选择吧,特别重要的信息,比如用户密码这些 你可以选择复杂性高些的加密算法。
2.每个算法 加密解密规则有出入,用来加密的算法 当然不会都统一,你自己也可以写个加密算法。
3.密钥的原理:
通过工具(我上次是直接用linux的openssl命令生成的)生产一对公钥,私钥。
公钥是可以告诉别人的,而私钥是留给自己的。
别人用公钥加密之后,发送数据,这个数据只能用私钥解密,在过程中被别人看到公钥加密后的数据,对他而言是无用的。
非对称加密:公钥a 私钥b 客户端数据c c+a=z z发送到服务端 z+b=c
现在非对称性主要的优点在于他相比其他加密模式要安全得多,而主要的缺点就是算法复杂,加密速度慢,加密后的数据也很大。
所以对称性加密和非对称性各有优劣,程序设计者要根据不同需求选择加密方式!
(都是个人看法和观点,有不对的地方,请高手不吝指出!)