我的专题区块链研习社程序员

常用加密算法

2018-05-16  本文已影响16人  ccup区块链

加密的目的

加密是一个将明文转换成密文的过程,就是将大家能读懂含义的文字转换成没有任何意义的字符。

对称加密

又称为私钥加密。
用同一个密钥加密,用用一个密钥解密。
常见:AES、DES、3DES

弊端: 密钥如何告知解密方?如果进行网络传输,则会不安全。
优势:加密速度快,适用于大量数据加密

非对称加密

又称为公钥加密,私钥解密。
信息的接收方可以事先生成好一份公钥,一份私钥。将公钥发送给所有信息的发送方,进行加密后,然后将信息发送给接收方,使用原定的私钥解密。

常见:RSA

优势:解密的私钥不需要传输,降低泄密的可能性。
劣势:速度慢,适合加密少量数据

信息摘要算法

可以为不同的信息生成独一无二的信息摘要,并且不可逆,无法通过生成的摘要信息还原出原始信息。

常见:md5、(hash算法)sha1,sha256,sha512,sha1024,ripemd-160

Hash算法有什么特点

一个优秀的 hash 算法,将能实现:

但在不同的使用场景中,如数据结构和安全领域里,其中对某一些特点会有所侧重。

MD5特点:

1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

应用:用户登陆密码,通过比对密码的加密结果值是否相同。通信签名,防止信息丢失或被篡改。一致性验证、数字签名、安全访问认证

上一篇 下一篇

猜你喜欢

热点阅读