SHA-0 è obsoleto. Da utilizzare con Java JCE MessageDigest, SHA == SHA-1 per alcuni provider JCE. A proposito, SHA-1 non è considerato sicuro con i computer e la tecnologia di oggi. SHA-512 è ancora sicuro per quasi tutto. SHA-256 è ok per molte cose, ancora.
È possibile elencare i protocolli disponibili nella versione Java che si sta utilizzando con questo codice. (I got it 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();
}
}
}
Mostrerà le informazioni in questo modo per tutti i vari algoritmi disponibili. (Si noti che questo è l'output effettivo del programma sopra riportato per alcuni livelli di aggiornamento di Oracle/Sun Java 6 e mostra che SHA è equivalente a SHA-1 e SHA1. È possibile passare qualsiasi delle tre stringhe a MessageDigest e ottenere lo stesso risultato . Ma questo dipende dal provider Cryptography (ICC) e potrebbe non essere lo stesso.)
SUN: MessageDigest.SHA -> sun.security.provider.SHA
aliases: [SHA-1, SHA1]
attributes: {ImplementedIn=Software}
Se si caricano altri provider (ad esempio BouncyCastle) mostrerà anche quelle.
fonte
2013-02-15 21:35:46
Il modo più semplice per capire è quello di utilizzare qualsiasi cosa viene restituito all'hash la stringa "La volpe marrone veloce salta sul cane pigro" ed esaminare l'output. Se ottieni '2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12 "allora hai SHA-1. La risposta di Lee Meador mostra un modo programmatico di vedere che cosa è" SHA "per lo –
@NikBougalis, hai anche verificato se lo stesso risultato si verifica sia per sha-0 che per sha-1? so che potrebbero essere diversi? Non riesco nemmeno a trovare una descrizione di sha-0 ovunque – megazord
Sono diversi –