? ?最近公司为了修改安全红线,需要修改程序中密码的加密解密算法。因此对java 的加密解密算法做一了解,在这分享一下。 ? ? ? ?密码学在加密算法上大体可分为单向加密算法、对称加密算法、非对称加密算法。
?
? ? ? 1、单向加密算法-----散列函数
? ? ? ? 单向加密算法主要用于对信息完整性的验证,这种技术就是由散列函数提供的消息认证技术。
散列函数,也称做哈希函数、消息摘要函数、单向函数或杂凑函数。通过散列函数,可以为数据创建“数字指纹”(散列值)。散列值通常是一个字母和数字组成的字符串。
其消息认证流程如下:
? ? ? ?在非对称密码体制中,公钥和私钥均可用于加密和解密操作,但它与对称密码体制不同。公钥与私钥分属通信双方,一份消息的加密和解密需要公钥与私钥共同参与。公钥加密则需要私钥解密,反之,私钥加密则需要公钥解密。