
Java 加密与解密
文章平均质量分 95
在Java中,加密和解密操作通常依赖于Java的加密架构(Java Cryptography Architecture, JCA)以及Java加密扩展(Java Cryptography Extension, JCE)。这些库提供了多种加密算法、密钥生成机制、消息摘要(哈希)等。
pan_junbiao
这个作者很懒,什么都没留下…
展开
-
Java使用BCrypt强散列算法实现:加密、校验
BCrypt 加密是一种安全且高效的密码存储与验证方法,它结合了密码哈希函数和加密算法。BCrypt 加密基于哈希函数,并使用一个密码和一个随机生成的盐值作为输入,生成一个固定长度的密码哈希值。这个哈希值在每次密码输入时都会重新生成,且会随着盐值的改变而改变。这种机制确保了即使是相同的密码,在每次加密时也会生成不同的哈希值,从而有效增强了安全性。Bcrypt 生成的密文是 60 位的,而 MD5 的是 32 位的。原创 2025-02-05 15:42:28 · 489 阅读 · 0 评论 -
Java使用JWT实现Token认证机制
JWT(JSON Web Token)是一种用于在网络上安全地传输信息的简洁的、URL 安全的表示方法,它定义了一个紧凑且自包含的方式,用于不同实体之间安全地传输信息(JSON格式)。JWT 通常由三部分组成,分别是 Header(头部)、Payload(有效载荷)和 Signature(签名)。JWT是一种简单、安全、便捷的身份验证和授权机制,在现代Web应用程序中得到广泛应用。然而,在使用JWT时也需要注意其安全性问题,并采取相应的措施来确保JWT的安全性和完整性。原创 2024-10-29 17:56:02 · 2378 阅读 · 0 评论 -
Java非对称加密:RSA 数据加密与解密、数字签名与验签
非对称加密(asymmetric cryptography),也称为公开密钥加密(public-key cryptography),是密码学中的一种重要算法。非对称加密使用一对密钥进行加密和解密操作,这两个密钥分别是公开密钥(public key)和私有密钥(private key)。公开密钥可以公开给任何人使用,而私有密钥则必须保密,只有密钥的持有者才能访问。这两个密钥之间存在数学上的联系,但不能从一个推导出另一个。原创 2024-10-28 18:05:19 · 1648 阅读 · 0 评论 -
Java对称加密:AES 高级加密标准
AES(Advanced Encryption Standard),即高级加密标准,是一种对称加密算法,被广泛应用于信息安全领域,保护敏感信息的安全。AES 算法基于迭代和分组密码设计,通过一系列的加密操作,将明文转化为密文。其加密流程主要包括字节代换、行移位、列混合和轮密钥加变换等步骤。解密过程为加密过程的逆过程。AES 主要有两种加密模式:ECB 与 CBC 是两种不同的加密模式,它们在处理明文块的方式上存在显著差异,从而影响了其安全性和适用场景。原创 2024-10-25 16:51:27 · 873 阅读 · 0 评论 -
Java对称加密:DES、3DES 数据加密标准
对称加密,又称对称密钥加密或私钥加密,是一种在加密和解密过程中使用相同一个密钥的加密算法。这种加密方式的核心在于,发送方使用某个密钥对数据进行加密,接收方则使用完全相同的密钥对数据进行解密。由于加密和解密使用的是同一把“钥匙”,因此得名“对称加密”。对称加密是一种强大且高效的加密方式,但其安全性高度依赖于密钥的安全管理。因此,在实际应用中,需要采取额外的安全措施来保护密钥的安全,如使用密钥分发协议、密钥托管服务等。原创 2024-10-24 09:36:09 · 1090 阅读 · 0 评论 -
Java消息摘要:SHA 验证数据完整性、密码的加密
SHA(Secure Hash Algorithm,安全散列算法)是一个密码散列函数家族,被美国国家安全局(NSA)设计,并由美国国家标准与技术研究院(NIST)发布为联邦数据处理标准(FIPS)。SHA 算法是基于 MD4 算法实现的,作为 MD 算法的继任者,成为新一代的消息摘要算法的代表。SHA 与 MD 算法不同之处主要在于摘要长度,SHA 算法可以生成一个被称为消息摘要的160位(20字节)散列值,而 MD5 的固定长度为128位(16字节)。原创 2024-10-21 17:11:52 · 691 阅读 · 0 评论 -
Java消息摘要:MD5 验证数据完整性、密码的加密
MD5(Message-Digest Algorithm 5)是一种被广泛使用的密码散列函数,是一种不可逆的加密算法,该算法可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5 由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1991年公布,用以取代 MD4 算法。这套算法的程序在 RFC 1321 标准中被加以规范。1996年后该算法被证实存在弱点,可以被加以破解。原创 2024-10-12 17:46:26 · 679 阅读 · 0 评论 -
Java编码方式:Base64 编码与解码
Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。它主要用于在不支持二进制数据的场合(如电子邮件、URL、文件系统名等)传输二进制数据。严格来说Base64 并不是一种加密/解密算法,而是一种编码方式。Base64 不生成密钥,通过Base64 编码后的密文就可以直接“翻译”为明文。原创 2024-10-05 17:19:19 · 2434 阅读 · 0 评论