SHA-0 ist veraltet. Zur Verwendung mit Java JCE MessageDigest, SHA == SHA-1 für einige JCE-Provider. Übrigens wird SHA-1 mit den heutigen Computern und Technologien nicht als sicher angesehen. SHA-512 ist immer noch für so ziemlich alles sicher. SHA-256 ist für die meisten Dinge immer noch in Ordnung.
Sie können die Protokolle, die in der von Ihnen verwendeten Java-Version verfügbar sind, mit diesem Code auflisten. (Ich habe es 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();
}
}
}
Es Informationen wie diese für die verschiedenen Algorithmen zur Verfügung zeigen. (Beachten Sie, dass dies die tatsächliche Ausgabe des obigen Programms für eine Update-Ebene von Oracle/Sun Java 6 ist und dass SHA SHA-1 und SHA1 entspricht. Sie können eine der drei Zeichenfolgen an MessageDigest übergeben und das gleiche Ergebnis erhalten . Aber das hängt von der Kryptographie Provider (die JCE) und möglicherweise nicht das gleiche sein.)
SUN: MessageDigest.SHA -> sun.security.provider.SHA
aliases: [SHA-1, SHA1]
attributes: {ImplementedIn=Software}
Wenn Sie weitere Anbieter zu laden (zB BouncyCastle) es die zu zeigen.
Der einfache Weg, um es herauszufinden, wäre zu verwenden, was zurückgegeben wird, um die Zeichenfolge "Der schnelle braune Fuchs springt über den faulen Hund" Hash und untersuchen Sie die Ausgabe. Wenn Sie erhalten 2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12 "Dann hast du SHA-1. Lee Meadors Antwort zeigt eine programmatische Art zu sehen, was' SHA' ist ein Alias für. –
@NikBougalis, haben Sie auch überprüft, ob die gleiche Ausgabe sowohl für sha-0 und sha-1 passiert? Wie weiß ich, dass sie wahrscheinlich anders sind? Ich kann nirgends eine Beschreibung von sha-0 finden. – megazord
Sie sind anders. –