security

数据完整性,数据可靠性(扛否认性),数据保密性

Base64不算是加密算法,类似于表单置换算法,可逆

消息摘要算法:验证数据的完整性
任何数据经过散列函数处理后,都会获得唯一的散列值。这一个过程称

消息摘要,散列值称为数字指纹,算法就是消息摘要算法。
此过程是不可逆的。
MD5
SHA
MAC

消息摘要一般都是通过MessageDigest类完成
String algorithm = "MD5" or "SHA"
MessageDigest md = MessageDigest.getInstance

(algorithm);
md.digest(data)

MAC加入了密钥的支持
Mac mac = Mac.getInstance(secretkey.getAlgorithm);
mac.init(secretKey);
mac.doFinal(data);

对称密约算法:保密性,加密与解密
DES
DESede
AES
IDEA
PBE

DES
String KEY_ALGORITHM = "DES";
String CIPHER_ALGORITHM = "DES/ECB/PKCS5Padding";

KeyGnerator kg = KeyGenerator.getInstance(KEY_ALGORITHM);
kg.init(56);
SecretKey secretKey = kg.generateKey();

Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE,secretKey );
cipher.doFinal(data);

Cipher cipher = Cipher.getInstance

(CIPHER_ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE,key);
cipher.doFinal(data);

非对称密约算法:验证可靠性和保密性,签名与验证和加密与解密
DH
RSA
ELGamal

非对称密钥的加密和解密效率比较低,所以使用对称密钥进行加密解密

数字签名:
非对称密钥加消息摘要

消息摘要用于验证数据完整性,对称和非对称密钥保证数据保密性,数字签名用于扛否认性。

数字证书
自带公钥,完成加密解密;自带数字签名,鉴别消息来源;自带消息摘要,验证证书完整性。
非对称密钥即可以完成加密解密,也可以使用私钥签名和公钥验证完成签名与验证,而sha或md5等验证完整性。

消息摘要:可以在保存密码时用,密码只是作于验证,所以只要散列值就可以啦。
对称密钥:保存写重要信息,如私钥信息。因为私钥要用于别处,所以需要它自身信息。
数字证书:在建立SSL通信时候用。
非对称密钥:签名与验证,在url connection中,可用于验证。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值