加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使加密字符串的长度与输入字符串相同?

发布时间:2020-12-16 06:58:04 所属栏目:asp.Net 来源:网络整理
导读:我有一个15位数的字符串来加密. 我尝试过使用.NET的各种加密函数,但我所有的加密字符串长度至少为24,28或32. 我听说CipherMode.CTS有Padding = None,它产生与输入长度相同的长度输出,但我似乎无法得到相同的结果.我玩过块尺寸,钥匙尺寸和盐尺寸. 我不介意在
我有一个15位数的字符串来加密.

我尝试过使用.NET的各种加密函数,但我所有的加密字符串长度至少为24,28或32.

我听说CipherMode.CTS有Padding = None,它产生与输入长度相同的长度输出,但我似乎无法得到相同的结果.我玩过块尺寸,钥匙尺寸和盐尺寸.

我不介意在我的输入字符串中添加一个数字,使其长度为16.

有人知道解决方法吗?

解决方法

如果使用ECB模式,它会将输入四舍五入到块大小的下一个倍数,然后生成完全相同的输出大小.

几乎所有其他模式都包括/使用初始化向量(IV),使输出比输入大一个块(再次,在输入被舍入到块大小的下一个倍数之后).

大多数流密码产生的输出与输入的大小完全相同 – 但在典型的加密库中,流密码远不如分组密码.一个原因是密钥分发对于流密码来说是一个更严重的问题(使用相同的密钥两次使用流密码会产生一个主要的安全漏洞).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读