#java #sonarqube #md5
#java #sonarqube #md5
Вопрос:
После запуска sonar Qube для этого фрагмента кода показана следующая проблема безопасности.
public String createToken(String text) {
StringBuilder token = new StringBuilder(32);
try {
do {
token.setLength(0);
MessageDigest md = MessageDigest.getInstance("MD5");
byte buffer[] = md.digest((text random.nextInt()).getBytes());
for (int index = 0; index < buffer.length; index ) {
if (((int) buffer[index] amp; 0xff) < 0x10) {
token.append("0");
}
token.append(Integer.toString(((int) buffer[index] amp; 0xff), 16));
}
} while (isTestingToken(token.toString()));
} catch (NoSuchAlgorithmException nsae) {
logger.error(nsae.getMessage());
}
return token.toString();
}
как исправить эту проблему безопасности.
Комментарии:
1. MD5 небезопасен. Если вам нужен безопасный токен, используйте безопасный alg, например SHA-256. jira.sonarsource.com/browse/RSPEC-4790