Я использую SHA-512, чтобы хэшировать свои пароли и хранить их в базе данных mysql. Есть ли требование, чтобы на входе sha-512 не было специальных символов?
Потому что пароли «Qwerty123.1» и «Qwerty123». обрабатываются так же, но «Qwerty.11» отличается от описанного выше. В чем проблема?
Код, который я использую:
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