首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rijndael 256密钥

rijndael 256密钥
EN

Stack Overflow用户
提问于 2012-04-26 00:36:15
回答 1查看 1.3K关注 0票数 0

如何创建密钥和iv,使加密的字符串应该只包含数字,而characters.key字符串和iv字符串应该包含32 characters.purpose是加密的字符串不应该包含任何特殊的characters.block大小是256。现在我使用key和iv,就像this.after加密一样使用这个,用特殊的characters.how得到加密的字符串可以避免这种情况。

AES_Key=PSVJQRk9QTEpNVU1DWUZCRVFGV1VVT0ZOV1RRU1NaWQ=

Aes_iv=YWlFLVEZZUFNaWlhPQ01ZT0lLWU5HTFJQVFNCRUJZVA=

EN

回答 1

Stack Overflow用户

发布于 2012-04-26 00:44:49

您需要对输出进行Base64编码。这将确保它只是可打印的ASCII,并且是存储/传输加密数据的标准。

你希望你的钥匙和静脉输液是完全随机的。仅仅因为键中没有特殊字符,并不意味着在输出中不会有特殊字符。这绝对没有相关性。看起来你的密钥和IV都是base64编码的。确保您使用的是原始密钥和IV密钥。

下面是如何在C#中实现这一点。假设您的AES输出是一个字节数组:

代码语言:javascript
复制
        string encoded = System.Convert.ToBase64String(aesOutput);

如果它是一个字符串:

代码语言:javascript
复制
        byte[] encodedBytes = System.Text.Encoding.ASCII.GetBytes(aesOutput);
        string base64encoded = System.Convert.ToBase64String(encodedBytes);

您可以使用System.Convert.FromBase64String(encodedData)将其转换回其原始输出。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10319984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档