- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 TripleDESCryptoServiceProvider
加密数据,我注意到的一件事是,当我使用它解密数据时,数据有时以一系列 '\0'
结尾。人物。所以,如果我加密 "Sachin"
然后解密这个我得到的加密版本"Sachin\0\0"
.这是一个问题吗?
最佳答案
在这种情况下,您的加密方法可能会添加一些填充,即零填充。您的解密方法不需要填充,因此它只是将其解密,就好像它是原始明文的一部分一样。
DES 是一个块密码,它只能处理 64 位(8 字节)块中的数据。任何明文都被填充到下一个块边界。
零填充不好,因为如果纯文本以零字节结尾(如 C 样式字符串),则会遇到问题。更改您的加密方法以添加 PKCS#5 padding ,并更改您的解密方法以期望相同。然后填充将自动删除,您将永远不会看到它。
关于c#-4.0 - TripleDESCryptoServiceProvider 和\0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703120/
我们有一个旧的 ASP.NET 站点,它使用这里的加密方法: http://www.codekeep.net/snippets/af1cd375-059a-4175-93d7-25eea2c5c660
我正在使用 TripleDESCryptoServiceProvider 并且需要存储加密 key 。 如果我调用提供者 GenerateKey 方法,这只是一个 base64 编码的字符串吗?如果是
我正在使用 TripleDESCryptoServiceProvider 在 C# 中加密一系列字节。传递给我的 key 是这样的 FFC7B905AD6ACB57D662115FD65FA338 我
我有一些使用 TripleDES 进行加密和解密的 C# 代码。我已将其简化为用于发布的最小示例。 using System; using System.Security; using System.
我正在使用 TripleDESCryptoServiceProvider加密数据,我注意到的一件事是,当我使用它解密数据时,数据有时以一系列 '\0' 结尾。人物。所以,如果我加密 "Sachin"然
请不要问我为什么。我在 .NET 中只有这段代码可以加密/解密数据字符串。我现在需要在 Java 中实现“完全”相同的功能。我已经为 DESede crypt 尝试了几个例子,但没有一个给出与 .ne
有一个用 C# 编写的项目,它使用以下代码对数据库中的数据进行加密/解密: public string EncryptString(string Text) { byte[] IV = new
我按以下方式使用 System.Security.Cryptography 的 TripleDESCryptoServiceProvider: TripleDESCryptoServiceProv
为什么我使用 c# 和 JavaScript cryptojs 在 TriplesDes 上加密时得到不同的结果?请在下面查看我的代码。 c# public static string Encrypt
为什么 (C#) System.Security.Cryptography.TripleDESCryptoServiceProvider.BlockSize 和(PHP) mcrypt_get_blo
我正在尝试将我的加密解密函数从 DES 更新为 TripleDES。但是,当我尝试将 key 和 iv 字节数组大小从 8 增加到 128 时: byte[] key = new byte[128],
我是一名优秀的程序员,十分优秀!