SHA-0 jest przestarzały. Do użytku z Java JCE MessageDigest, SHA == SHA-1 dla niektórych dostawców JCE. Nawiasem mówiąc, SHA-1 nie jest uważany za bezpieczny dla dzisiejszych komputerów i technologii. SHA-512 jest nadal bezpieczny na prawie wszystko. SHA-256 jest w porządku dla większości rzeczy, nadal.
Możesz wyświetlić listę protokołów dostępnych w wersji Java, której używasz z tym kodem. (Mam go here):
import java.security.Provider;
import java.security.Security;
public class JceLook {
public static void main(String[] args) {
System.out.println("Algorithms Supported in this JCE.");
System.out.println("====================");
// heading
System.out.println("Provider: type.algorithm -> className" + "\n aliases:" + "\n attributes:\n");
// discover providers
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
System.out.println("<><><>" + provider + "<><><>\n");
// discover services of each provider
for (Provider.Service service : provider.getServices()) {
System.out.println(service);
}
System.out.println();
}
}
}
To pokaże informacje, takie jak ten dla wszystkich różnych algorytmów dostępnych. (Zauważ, że jest to rzeczywisty wynik z powyższego programu dla niektórych poziomów aktualizacji Oracle/Sun Java 6 i pokazuje, że SHA jest równoważne SHA-1 i SHA1. Możesz przekazać dowolny z trzech łańcuchów do MessageDigest i uzyskać ten sam wynik . Ale to zależy od dostawcy Cryptography (tej jednostki) i może nie być takie same.)
SUN: MessageDigest.SHA -> sun.security.provider.SHA
aliases: [SHA-1, SHA1]
attributes: {ImplementedIn=Software}
Jeśli załadować dodatkowe dostawców (np BouncyCastle) pokaże ci też.
Łatwo to rozgryźć, wykorzystując to, co powrócisz, do haszowania napisu "Szybki brązowy lis przeskoczył nad leniwym psem" i zbadać wynik. Jeśli dostaniesz '2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12 'wtedy masz SHA-1. Odpowiedź Lee Meadora pokazuje programowy sposób zobaczenia, co' SHA' jest aliasem dla. –
@NikBougalis, czy też sprawdziłeś, czy to samo dzieje się dla obu sha-0 i sha-1? czy wiem, że prawdopodobnie będą inne? Nie mogę nawet znaleźć nigdzie opisu sha-0 – megazord
Są różne –