寻找没有特殊字符的加密和解密方法

时间:2013-11-27 11:17:09

标签: c# asp.net encryption

我很难为 ASP.NET 找到加密解密方法。

我的网站上有一个按钮,可以重定向到下载页面,如下所示:

www.example.com/downloads/1/filename.jpg

其中1 = id。

我希望将id加密为以下内容:

www.example.com/downloads/k0sjD3ks0x/filename.jpg

我希望使用不使用* / = + 等特殊字符的加密来执行此操作,因为这些会“干扰”链接,并且会尝试导航到不会存在。

问题是几乎所有加密方法(除十六进制和MD5之外)都返回带有这些特殊字符的加密字符串。我不想使用十六进制,因为id为1将加密为32,我相信MD5无法解密(如果我错了,请纠正我)。

因此,如果有人知道没有特殊字符的加密或自己写了一个并愿意分享,我会很感激。

提前致谢。

1 个答案:

答案 0 :(得分:2)

为什么不想使用十六进制?

如果id始终是密码,您知道32不是十进制32而是十六进制32。

将密码编码为十六进制。十六进制不包含特殊字符。

加密算法输出二进制。您需要将此二进制文件编码为字符串。使用什么加密算法并不重要,你只需要编码算法输出的二进制文件。

或者,url编码字符串密码:

System.Web.HttpUtility.UrlEncode("cryptogram with special chars");