首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SHA-512特殊字符处理

SHA-512特殊字符处理
EN

Stack Overflow用户
提问于 2012-02-13 16:42:33
回答 1查看 2.1K关注 0票数 3

我使用SHA-512来散列我的密码,并将它们存储在mysql数据库中。是否有要求sha-512的输入不能包含任何特殊字符?因为密码'Qwerty123.1‘和’Qwerty123‘都被同等对待,但是'Qwerty.11‘和上面的不一样。有什么问题吗?

我使用的代码是:

代码语言:javascript
复制
BASE64Decoder decoder=new BASE64Decoder();
byte[] b=decoder.decodeBuffer(r1);            //r1 is the string containing password

MessageDigest md=MessageDigest.getInstance("SHA-512");
md.update(b);
byte[] plaintext=md.digest();
BASE64Encoder encoder=new BASE64Encoder();
String digest1=encoder.encode(plaintext);   //digest1 contains the msg digest
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-15 17:40:45

r1是有效的base64编码字符串吗?在我看来,你得到了同样的结果,因为你试图解码的东西不是有效的Base64数组,而BASE64Decoder不知何故失败了。你有没有尝试过这样的东西:

代码语言:javascript
复制
byte[] b = r1.getBytes("UTF-8");
MessageDigest md=MessageDigest.getInstance("SHA-512");
md.update(b);
byte[] plaintext=md.digest();
BASE64Encoder encoder=new BASE64Encoder();
String digest1=encoder.encode(plaintext);   //digest1 contains the msg digest
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9257595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档