一些现在流行的,JDK 支持的,我们推荐使用的密码学算法。这些算法,目前看还没有发现值得重视的安全问题,是可以信任的算法。如果一个系统计划运行五年以上,你应该使用这些算法。
- 256 位的 AES 算法
- SHA-256、SHA-512 单向散列函数
- RSASSA-PSS 签名算法
- X25519/X448 密钥交换算法
- EdDSA 签名算法
上面提到的推荐使用的算法中, JDK 8 不支持 X25519/X488 密钥交换算法,也不支持 EdDSA 签名算法。一个最重要的原因,就是这些算法需要使用新的公开接口。
果你需要使用密码,比如签名 Java 包,或者使用数字证书,请留意这些数字内容使用的密码算法,尽量使用推荐的算法,千万不要使用已经抛弃的算法。
对于 JDK 的开发者来说,我们要关注JDK 的密码路线图,了解 JDK 根据密码学的进展作出的变动,及时解决自己代码里的兼容性问题。
此文章为9月Day17学习笔记,内容来源于极客时间《深入剖析 Java 新特性》