《Java加密与解密艺术》读后总结

JAVA加密与解密:

消息摘要算法:MD,SHA,MAC
对称加密算法:DES,3DES,AES
非对称加密算法:RSA
签名算法:RSA,DSA

消息摘要与签名的区别:消息摘要保证数据完整性,没有被篡改;签名确保消息是由发送方发送;签名算法中也会涉及的摘要;签名算法实际上就是消息摘要与非对称加密算法的合体;

签名与加密:公钥加密,私钥解密(一般业务场景下如此);私钥签名,公钥验签

DES:
密钥长度56-64位
使用方式:

  • 1)发送方构建密钥,并公布密钥

  • 2)发送方使用密钥对数据加密,并发送加密数据

  • 3)接收方使用密钥对接收数据解密


3DES:
解决DES密钥太短的问题,密钥长度112-168位,增加了迭代次数,速度较慢,效率不高
使用方式同DES

AES:
解决3DES加密效率低,速度慢的问题,成为DES算法的替代者
使用方式同DES

RAS:
非对称加密算法

jdk加密相关jar包以及package:

  • rt.jar: java.security.*包,定义了消息摘要算法的实现(不包括mac算法)以及加解密算法的使用接口

  • jce.jar:java.crypto.*包,DES,3DES以及AES中使用较多,RSA中会用到Cipher类。其中包含了DES,3DES以及AES的实现;比较常用的类Cipher,KeyGenerator,SecretKey,Key,SecretKeyFactory

  • rt.jar:java.security.cert.*包,提供用于解析和管理证书的类和接口,如Certificate以及CertificateFactory

  • Bouncy Castle:加密组件,安全提供者,javajce的补充(如java6不支持MD4,SSH-224,但bc支持),以及一些工具类,如Base64编码(UrlBase64类)以及十六进制编码(Hex类)。

  • commons-codex:apache软件,主要用于编码格式转换,如Base64,二进制,十六进制,url编码等,并且对java原生消息摘要算法进行了封装。如Base64类,Hex类;DigestUtils工具类提供了MD5和SHA系列算法实现,对MessageDigest进行了封装。


Bouncy castle与common codec的Base64区别?
bc仅实现了一般base64算法;common-codec通过传入参数方式可以选择使用一般base64还是遵循RFC2045的Base64;差别是后者编码后会在行末尾加上\r\n换行。

UrlBase64与Base64区别?
因为以get方式传输二进制数据时或者以get方式传递本该由post方式传递的私密数据时,使用base64对其编码成字符串再传输比较好。但是由于url中对一些字符有限制,比如“+”,“/”等,而传统base64编码后会出现这些字符,因此出现了UrlBase64编码。同样Bouncy Castle和common codec都实现了它。

MD,SHA以及MAC等消息摘要的区别?
SHA算法基于MD4算法基础上,作为MD算法继任者,成为新一代的消息摘要算法。主要不同之处在于摘要长度,SHA算法的摘要长度更长,安全性更高。
MAC算法又叫做安全信息摘要算法,与SHA以及MD不同的是,使用MAC做摘要,发送方需要构建密钥并发送密钥给接收方,接收方使用密钥对数据做摘要并与发送方发送的摘要对比;而MD以及SHA不涉及密钥;

数字证书(cer,pfx,der,p7b,p7c,p10,p12,csr)后缀:
当看到cer或pfx结尾的文件,就是数字证书;证书可以作为公钥的载体来传播;证书分为CA证书和自签名证书;CA证书是权威认证,自签名证书是自己颁发给自己(自己既是申请者又是颁发者)。
keyTool证书管理:可以通过jdk的bin目录下KeyTool工具生成数字证书,并导出证书文件;
OpenSSL证书管理:OpenSSL功能远胜于KeyTool,可以用于根证书、服务器证书和客户证书的管理。



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值