各种加密算法用法及作用

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

2、md5加密:防止发送的消息被篡改    ===不需要密钥

①用MessageDigest信息摘要器获取MD5实例

②调用digest方法获取字节数组

③将每一个字节与OXFF做&运算再转换为16机制

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

3、DES加密:保存数据加密使用    ====加密和解密的密钥相同密钥长度64位

<1>加密

①实例化Cipher对象

②cipher.init(加密模式,密钥,随机密钥)初始化Cipher对象,设置为加密模式

③cipher.doFinal(要加密的字节)

④用base64编码,返回加密后的字符串

<2>解密

①Cipher.getInstance()获取cipher实例

② cipher.init(解密模式, 密钥);初始化cipher对象

③Base64.decodeBase64(加密数据)解码

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

4、3DES加密: =====168位密钥,3个密钥

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

3DES加密过程为:C=Ek3(Dk2(Ek1(P)))

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

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

6、RSA加密:同时用于加密和数字签名

概念:数字签名是为了确保发送的信息没有被伪造,确实是我发出的。

公钥加密,私钥解密

私钥签名,公钥验证

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章