关于加密的理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/manongxiaomei/article/details/71139022

---------------------------有时间再补全详细的--------------------------------------

base64加密:防止在http传输过程中肉眼看到传输数据


md5加密:防止发送的消息被篡改    ===不需要密钥
①用MessageDigest信息摘要器获取MD5实例
②调用digest方法获取字节数组
③将每一个字节与OXFF做&运算再转换为16机制

④将得到的每一个结果进行字符拼接得到加密后的字符串


DES加密:保存数据加密使用    ====加密和解密的密钥相同密钥长度64位
<1>加密
①实例化Cipher对象
②cipher.init(加密模式,密钥,随机密钥)初始化Cipher对象,设置为加密模式
③cipher.doFinal(要加密的字节)
④用base64编码,返回加密后的字符串
<2>解密
①Cipher.getInstance()获取cipher实例
② cipher.init(解密模式, 密钥);初始化cipher对象
③Base64.decodeBase64(加密数据)解码

④cipher.doFinal(解码后的加密数据)解密


3DES加密: =====168位密钥,3个密钥
其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文,这样:
3DES加密过程为:C=Ek3(Dk2(Ek1(P)))

3DES解密过程为:P=Dk1(EK2(Dk3(C)))


AES加密:和DES加密相同,密钥长度对少为128位


扫描二维码关注公众号,回复: 4009313 查看本文章
RSA加密:同时用于加密和数字签名
概念:数字签名是为了确保发送的信息没有被伪造,确实是我发出的。
公钥加密,私钥解密
私钥签名,公钥验证

猜你喜欢

转载自blog.csdn.net/manongxiaomei/article/details/71139022