1
6
在一位同事的建议下,我选择了convert.tobase64string。很好用。修正了下面的程序。
|
2
1
问题在于到Unicode的转换以及加密方法encoding.unicode.getString的结尾,只有当您给它的字节构成有效的utf-16字符串时,它才起作用。 我怀疑有时候protectedData.protect的结果不是有效的utf-16字符串,因此encoding.unicode.getString会从返回的字符串中删除一些没有意义的字节,从而导致无法将字符串转换回加密数据。 |
3
1
最好的解决办法是 convert the byte array to a base 64 string . 您也可以使用拉丁语-1 aka iso-8859-1 aka codepage 28591来处理这个场景,因为它映射的值范围是0-255不变的。以下是可互换的:
使用此编码,您将始终能够转换字节[->字符串->字节[],而不会丢失。 见 this post 用于演示此编码用法的示例。 |
4
1
这门课应该有帮助:
|
5
1
你不应该使用
有关更多信息,请参阅 MS Security guru Shawn Fanning's post. |
6
0
我强烈怀疑是对encoding.unicode.getString的调用导致了这个问题。您需要确保传递给unprotect调用的数据是 确切地 与从保护调用返回的相同。如果您将二进制数据编码为Unicode文本作为临时步骤,那么您不能保证这一点。为什么您无论如何都需要这个步骤-为什么不只存储字节[]? |
Farid · 限制django每个客户的访问 2 年前 |
josegp · 在Nmap中-p-tag是什么意思 2 年前 |
kramer65 · 如何根据网站用户在S3上添加非公共网站文件? 6 年前 |
derf26 · 如何阻止React Web包包含包中的脚本。json 6 年前 |
user8663960 · 最好也是最简单的方法是保护登录表单的安全 6 年前 |