我正在使用 EditText 字段从用户那里获取密码。密码保存为字符串。它稍后用于散列函数。我的问题是特殊字符(例如“\”)在字符串类中保存为代理对,例如“\\”。结果,使用“\”等特殊字符输入的密码在散列函数中失败(它们被散列为“\\”。我该如何解决这个问题?
谢谢!
编辑 - 事实证明,以下唯一被破坏的特殊字符(即字符串类添加了一个额外的反斜杠)是(确实)“\”:
- 一些特殊字符:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
通过在我的代码中用一个字符数组替换 Java 字符串来解决这个问题将是正确的方法,但在这个应用程序中它非常混乱。因此,我将在密码哈希函数中简单地将“\\”替换为“\”。