사용자 이름과 암호를 저장하려면 암호를 저장 한 다음 저장하십시오. 사용자가 다시 로그인하면 사용자 이름을 표시해야합니다. 사용자 이름을 해독하는 것이 얼마나 힘든지/기분인지 모르겠다. 다음은 암호화에 사용한 알고리즘입니다.Java에서 저장된 암호화 된 사용자 이름 암호 해독
public static String getEncryptedValue(String str) {
String password = str;
String algorithm = "SHA";
byte[] plainText = password.getBytes();
try {
md = MessageDigest.getInstance(algorithm);
} catch (Exception e) {
e.printStackTrace();
}
md.reset();
md.update(plainText);
byte[] encodedPassword = md.digest();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encodedPassword.length; i++) {
if ((encodedPassword[i] & 0xff) < 0x10) {
sb.append("0");
}
sb.append(Long.toString(encodedPassword[i] & 0xff, 16));
}
return sb.toString();
}
사용자 이름과 이메일을 암호화하는 것이 좋습니다.
그래서 사용자의 개인 정보 보호에 영향을 미치지 않겠습니까? –
@DigvijayYadav 예, 사용자 이름을 해싱하지 않으면 사용자 이름이 사용자 데이터베이스에 계속 표시됩니다. 그러나 많은 응용 프로그램에서 사용자 이름이 어떤 경우에도 표시 될 수 있으므로 사용자 데이터베이스에 숨겨도 보안/개인 정보가 크게 추가되지는 않습니다. 해쉬가 사용자 이름에 해시 될 수 있어야합니다. 해시를 상수이거나 해시 할 사용자 이름을 기반으로하는 해시를 사용할 수는 있지만 사용자 정보 만 검색 할 수 있다는 제한이 있습니다 (이미 올바른 해시를 생성 할 수 있도록) 사용자 이름을 이미 알고 있습니다. –