SHA-0 устарел. Для использования с Java JCE MessageDigest, SHA == SHA-1 для некоторых поставщиков JCE. Кстати, SHA-1 не считается безопасным с сегодняшними компьютерами и технологиями. SHA-512 по-прежнему безопасен практически для всего. SHA-256 в порядке для большинства вещей.
Вы можете указать протоколы, доступные в версии Java, используемой с этим кодом. (Я получил его 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();
}
}
}
Он покажет информацию, как это для всех различных алгоритмов, доступных. (Обратите внимание, что это фактический вывод из программы выше для некоторого уровня обновления Oracle/Sun Java 6, и это показывает, что SHA эквивалентен SHA-1 и SHA1. Вы можете передать любую из трех строк в MessageDigest и получить тот же результат . Но это зависит от криптографического провайдера (ОКО) и не может быть такой же.)
SUN: MessageDigest.SHA -> sun.security.provider.SHA
aliases: [SHA-1, SHA1]
attributes: {ImplementedIn=Software}
При загрузке дополнительных поставщиков (например, BouncyCastle) он будет показывать их тоже.
Простой способ понять это будет использовать то, что возвращается в хэш строку «Быстрая коричневая лиса перепрыгивает через ленивую собаку» и исследовать выход. Если вы получите '2fd4e1c6-7a2d28fc-ed849ee1-bb76e739-1b93eb12 'тогда у вас есть SHA-1. Ответ Ли Меадора показывает программный способ увидеть, что означает' SHA'. –
@NikBougalis, вы также проверяли, происходит ли тот же вывод для обоих sha-0 и sha-1? я знаю, что они могут быть разными? Я даже не могу найти описание sha-0 где угодно. – megazord
Они разные. –