Я высказал свои опасения в следующей теме:
как я могу получить хэш MD5 в jdk.7.o?
и видел такие темы, как:
Невозможно использовать установку Java 7, если установлена Java 8
и я также изучал:
https://docs.oracle.com/cd/E74665_01/MOSHP/settings.htm#CIHEFHEF
но бесполезно.
Поскольку я использую версию JRE/JDK > 10, я не могу получить MD5 из любого хранилища ключей по своему выбору с помощью инструментов для ключей. Говорят, что MD5 можно получить из хранилища ключей, если у меня версия JRE 7.
Кроме того, я пробовал и знаю, что когда эта команда выдается внутри Android Studio или Eclipse для хранилища ключей Android по умолчанию, то есть хранилища ключей разработчиков, она легко дает там MD5. Поэтому я также поднял вопрос о том, как Android Studio или Eclipse могут это сделать, когда моя версия JRE > 10?
Поэтому я пытаюсь найти решение, наоборот, для той же проблемы.
Каким образом я все еще могу использовать функции JRE/JDK v7, пока v10 остается установленным? Каким образом я могу указать в панели управления Java в Windows 7 (это моя ОС), что я хочу использовать Java 7.
Мне трудно получить
"Support Identifier"
информацию для поддержки оракула, чтобы получить эту версию. Так что кто-то может подсказать мне, как получить это.
Пожалуйста, найдите "Java SE 7, and Java SE 6 updates"
на странице сайта:
https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
Пожалуйста, найдите "Support Identifier"
на странице, которая открывается после нажатия на гиперссылку: "My Oracle Support"
в следующем абзаце.
[EDIT (для возможного ответа)]: Вот некоторый код, который использует хранилище ключей и находит значение Base64 SHA из keyStore:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.sample.app",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
/*Note: may be instead of converting obtained bytes into Base64,
I should convert it into hex string.*/
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Пожалуйста, дайте мне знать, если это предполагает ответ. MD5 должен иметь длину не менее 32 байт.
Наилучшие пожелания,
Ваш последователь.