У меня есть метод Java, который шифрует строку:
public String getCurrency(String hash){
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(hash.getBytes());
byte byteData[] = md.digest();
/** convert the byte to hex format */
StringBuilder sb = new StringBuilder();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
} catch (NoSuchAlgorithmException ex) {
ex.printStackTrace();
}
return sb.toString();
}
Я использую Netheans IDE. Проблема в том, что когда я пытаюсь скомпилировать, появляется ошибка, что я должен создать try-catch
оператор для этой части ("SHA-256")
.
Когда я создаю его с помощью Netbeans, появляется следующий код:
public String getCurrency(String hash){
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(hash.getBytes());
byte byteData[] = md.digest();
/** convert the byte to hex format */
StringBuilder sb = new StringBuilder();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
} catch (NoSuchAlgorithmException ex) {
ex.printStackTrace();
}
return sb.toString();
}
Теперь, когда я снова пытаюсь скомпилировать код, появляется это сообщение об ошибке:
"переменная sb не объявлена"
Как правильно вернуть зашифрованную строку?