在C#中加密和解密字符串?
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如何在C#中加密和解密字符串? #1楼 字符串的对称身份验证加密的现代示例。 对称加密的一般最佳实践是使用带有关联数据的身份验证加密(AEAD),但这不是标准.net加密库的一部分。 因此,第一个示例使用 AES256 ,然后使用 HMAC256 (两步 加密,然后使用MAC) ,这需要更多的开销和更多的密钥。 第二个示例使用开放源代码Bouncy Castle(通过nuget)使用AES256- GCM 的更简单实践。 这两个示例都具有一个主要功能,该功能接受秘密消息字符串,密钥和可选的非秘密有效载荷,并返回和经过身份验证的加密字符串,该字符串可选地以非秘密数据为前缀。 理想情况下,您可以将它们与随机生成的256位密钥一起使用,请参见 NewKey() 。 这两个示例还具有使用字符串密码生成密钥的辅助方法。 提供这些辅助方法是为了方便与其他示例匹配,但是它们的 安全性要差得多, 因为密码的强度将 远小于256位密钥 。 更新: 添加了 byte[] 重载,由于StackOverflow的答案限制,只有 Gist 才具有4个空格的缩进和api文档的完整格式。 .NET内置加密(AES)-然后MAC(HMAC) [要点] /* * This work (Modern Encryption of a String