Java加密解密高频面试题及详细答案(实战向).docxVIP

  • 1
  • 0
  • 约5.64千字
  • 约 8页
  • 2026-07-27 发布于河北
  • 举报

Java加密解密高频面试题及详细答案(实战向).docx

Java加密解密高频面试题及详细答案(实战向)

一、基础概念篇(初级必问)

1、加密算法分为哪三类?各自的特点和代表算法是什么?

参考答案:

加密算法核心分为对称加密、非对称加密、哈希摘要(单向加密)三类,实际开发中三者配合使用,区别非常清晰:

1.对称加密

加密和解密使用同一个密钥,加解密速度快、效率高,适合加密大量数据。缺点是密钥传输、分发存在安全风险,双方必须提前约定密钥。

代表算法:AES、DES、3DES(DES已淘汰,安全性极低)

2.非对称加密

有一对密钥:公钥(公开)、私钥(保密)。公钥加密、私钥解密;私钥签名、公钥验签。安全性极高,但算法复杂、速度慢,不适合加密大文本数据。

代表算法:RSA、DSA、ECC

3.哈希摘要(单向加密)

单向不可逆,只能加密、不能解密。任意长度数据,加密后生成固定长度摘要,主要用于校验数据完整性、密码存储。存在哈希碰撞概率。

代表算法:MD5(已不安全)、SHA1(淘汰)、SHA256、SHA512

面试加分点:实际业务组合方案:AES加密业务数据,RSA加密AES密钥,SHA256做数据完整性校验。

2、MD5、SHA256是加密算法吗?为什么不能用于数据加密?

参考答案:

严格来说,MD5、SHA256属于哈希摘要算法,不属于加密算法。

核心原因:

1.加密算法是可逆的(有密钥就能解密还原原文),而哈希算法完全不可逆

文档评论(0)

1亿VIP精品文档

相关文档