SHA:Standard Hash Algorithm,安全哈希算法,对于任意长度的信息进行hash运算,生成特定长度的信息摘要,通常用于数字摘要。
数字摘要:采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(例如128位)的密文;这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。
非对称加密算法:存在一组密钥对,公钥(public key)和私钥(private key),私钥保存在自己手中,公钥可以公开发布。别人发送信息前使用公钥加密,自己收到后使用私钥解密。由于私钥只有自己有,因此只有自己能得到最终的信息。公钥加密的信息,私钥可以解密;同样私钥加密的数据,公钥也可以解密。
RSA:最常用的非对称加密算法。RSA就是算法发明的三个人姓氏开头字母拼在一起组成的。
数字签名:数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。
非对称加密算法用于数字签名:首先A对传输信息生成摘要,然后使用自己的私钥对摘要进行加密,加密后的摘要和原始信息一起发送给接收者B。接收者B 1)对加密后的摘要用A的公钥进行解密;2)对原始信息用同样的算法生成摘要,如果两者相同,就说明信息确实时A发出的,并且没有被经过篡改。
公钥加密,私钥解密:用于数据加密传输;
私钥加密,公钥解密:用于数字签名验证。
2019.10.04补充:常见摘要hash算法除了SHA系列算法外,还有MD系列算法,SM3国密算法。