Так что я работаю над проектом, где мне нужно хэш-пароль пользователей, прежде чем я его сохраню (для приглашения для входа). Код, который на самом деле хэширует textworks отлично, но я пытаюсь использовать его в форме другого класса. Проблема в том, что я получаю следующую ошибку, и я не знаю, что это значит.Sha хэширование в Java
1 error found:
File: /Users/justin/Desktop/Culminating Java/login.java [line: 10]
Error: /Users/justin/Desktop/Culminating Java/login.java:10: unreported exception java.security.NoSuchAlgorithmException; must be caught or declared to be thrown
Вот код для хэширования
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class HashTextTest {
/**
* @param args
* @throws NoSuchAlgorithmException
*/
public static void hasher() throws NoSuchAlgorithmException {
System.out.println(sha1(login.InputPassword));
System.out.println(sha1("password"));
}
static String sha1(String input) throws NoSuchAlgorithmException {
MessageDigest mDigest = MessageDigest.getInstance("SHA1");
byte[] result = mDigest.digest(input.getBytes());
StringBuffer sb = new StringBuffer();
for (int i = 0; i < result.length; i++) {
sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
}
}
А вот как я пытаюсь использовать его.
import javax.swing.*;
import java.io.*;
public class login{
public static String InputPassword = "";
public static void main (String args[]){
HashTextTest myhasher = new HashTextTest();
myhasher.hasher();
}
}
в основной, 'myhasher.hasher () 'может генерировать исключение« NoSuchAlgorithmException », поэтому вы должны либо его поймать, либо использовать предложение throws в объявлении метода. –