use*_*236 0 c# encryption asp.net-mvc-4
我想加密一个字符串,它必须被解密.输入字符串的长度可能不同,但加密字符串的最大长度必须为15个字符和字母数字.这适用于Intranet应用程序,因此安全性不是一个大问题.我应该能够解密它以匹配另一页.我正在使用vs2012,c#,asp.net.请指教.我试过rijndael,但它给了一个很长的字符串.加密的字符串必须是用户友好的,因为用户需要记住并输入它.
谢谢,DotNet
输入字符串的长度可能不同,但加密字符串的最大长度必须为15个字符和字母数字.
这显然是不可能的.如果您解决了这个问题,您将解决所有可能的存储问题 - 毕竟,您可以将整个互联网(视为一个长字符串)存储为15个字母数字字符(解密后).
您还没有告诉我们输入字符串可能包含的内容 - 假设"字母数字"表示AZ,az,0-9只有62个可能的字符.因此有62 个可能的加密字符串.如果您的输入是UTF-16代码单元,那么只有6个代码单元有更多可能性(65536 6大于62 15).
基本上,你在这里遇到了一个失败的主张 - 你应该重新考虑你的设计.
也许您应该将原始值存储在服务器中,返回一些令牌,然后能够在需要时获取值?这是不加密的,但它可能会满足你的实际需求.
进一步阅读:鸽子原则