建议和反馈

请填写你的反馈内容

问答 > 密码学 > 问答详情
求助中

在System.Security.Cryptography中加密到字母数字10LK

我有一个需要加密客户ID的项目。 加密值用作网站的查询字符串值,然后返回个性化表单以便完成。

我遇到的问题是我们正在使用的网站有一个安全策略,它禁止查询字符串中的非字母数字字符。

我目前正在尝试确认哪些字符被阻止,但理想的解决方案是使用返回字母数字字符串的加密算法。

我还没有在System.Security.Cryptography命名空间中找到任何这样的算法 - 显然是因为密钥大小通常是64位或者是某个倍数 - 但我希望这样的算法可用。

在这个阶段唯一的选择是交换出被认为是非法的任何字符与其他允许的字符,但我不认为我将有足够的允许字符来工作。

有什么经验或有关如何进行的建议吗?


2019-07-12
0
请先登陆或注册

王某人2019-07-12

您只需要在任意字节(加密算法的输出)和允许集中的字符之间创建可逆映射。

Base64的工作原理如下 - 它将任意二进制编码为集合[A-Za-z0-9+/]中的字符(这几乎就是你想要的,加上+/ )。 您可以使用Base64编码,然后将+/替换为另外两个“允许的字符”,如果有的话(可能是-_ ?)。

应该有您的语言可用的现有Base64编码和解码功能。


投一票
评论(0)
赞赏(0)

求助中

解决了这个问题,预计可以帮助到

  • 0
  • 2
  • 5
  • 7
  • 1
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励