【发布时间】:2014-02-04 16:16:34
【问题描述】:
我正在开发一个 C# 加密程序,我已经完成了它。
它加密和解密我作为参数传递的字符串。
唯一的问题是,当我与等效的 Java 加密程序进行比较时,我注意到 c# 转换了特殊字符的十六进制。
有没有办法告诉程序不要转换特殊字符而只将它们表示为十六进制?
这是一个例子
Java:
4g8LAQXy%2B1M%3D
C#:
4g8LAQXy+1M=
如您所见,十六进制的'+' 是2B,十六进制的'=' 是3D。
【问题讨论】:
-
我希望你没有使用 Base64 作为加密方案
-
% 不应该出现在 Base64 输出中,Java 结果看起来是 URL 编码的?它来自哪里?
-
要标记到@DGibbs,Base64 不是加密 - 它是编码。 Base64 并不比明文好。只是想确保清楚。
-
我正在用 md5 和 des c# 模拟 PBE。抱歉,我在操作中不清楚
-
我已更改问题的标题,以确保 base64 不会与加密相混淆。
标签: c# java encryption