MessageDigest Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256.
[Android.Runtime.Register("java/security/MessageDigest", DoNotGenerateAcw=true)]
public abstract class MessageDigest : Java.Security.MessageDigestSpi
[<Android.Runtime.Register("java/security/MessageDigest", DoNotGenerateAcw=true)>]
type MessageDigest = class
inherit MessageDigestSpi
- Наследование
- Атрибуты
Комментарии
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. Дайджесты сообщений являются безопасными односторонними хэш-функциями, которые принимают данные произвольного размера и выводят хэш-значение фиксированной длины.
Объект MessageDigest начинается инициализирован. Данные обрабатываются с помощью #update(byte) update методов. В любой момент #reset() reset можно вызвать для сброса дайджеста. После обновления всех данных необходимо вызвать один из #digest() digest методов для завершения хэш-вычислений.
Метод digest можно вызвать один раз для заданного количества обновлений. После digest вызова объект MessageDigest сбрасывается в его инициализированное состояние.
Реализации бесплатны для реализации клонируемых интерфейсов. Клиентские приложения могут проверить клонируемость путем попытки клонирования и перехвата cloneNotSupportedException:
{@code
MessageDigest md = MessageDigest.getInstance("SHA-256");
try {
md.update(toChapter1);
MessageDigest tc1 = md.clone();
byte[] toChapter1Digest = tc1.digest();
md.update(toChapter2);
...etc.
} catch (CloneNotSupportedException cnse) {
throw new DigestException("couldn't make digest of partial content");
}
}
Обратите внимание, что если определенная реализация не клонируется, вычислить промежуточные дайджесты можно путем создания экземпляров нескольких экземпляров, если число дайджестов известно заранее.
Обратите внимание, что этот класс абстрактен и расширяется по MessageDigestSpi историческим причинам. Разработчики приложений должны заметить только методы, определенные в этом MessageDigest классе. Все методы в суперклассе предназначены для поставщиков криптографических служб, которые хотят предоставить собственные реализации алгоритмов дайджеста сообщений.
Android предоставляет следующие MessageDigest алгоритмы: <таблица><><tr th><Algorithm>/<><th th Supported API Levels>/<>th</th/><tr/thead><tbody><><tr td>MD5</><>td td 1+</td></><tr tr><td>SHA-1</><>td td 1+</><td/tr><><td/td>SHA-224</td><td>1-8,22+</td/tr tr><><td><> SHA-256</><td td>1+</><td/><tr tr><td>SHA-384</><>td td 1+</td></tr><td><>SHA-512</><>td td 1+</td/td></tr></tbody></table>
Эти алгоритмы описаны в разделе MessageDigest документации по имени алгоритма стандартного алгоритма Java архитектуры шифрования.
Добавлено в версии 1.1.
Java документации по java.security.MessageDigest.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя. | Описание |
|---|---|
| MessageDigest(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
| MessageDigest(String) |
Создает дайджест сообщения с указанным именем алгоритма. |
Свойства
| Имя. | Описание |
|---|---|
| Algorithm |
Возвращает строку, которая определяет алгоритм, независимо от сведений о реализации. |
| Class |
Возвращает класс среды выполнения этого |
| DigestLength |
Возвращает длину дайджеста в байтах или 0, если эта операция не поддерживается поставщиком и реализация не клонируется. |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| JniPeerMembers |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| Provider |
Возвращает поставщика этого объекта дайджеста сообщения. |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
| Имя. | Описание |
|---|---|
| Clone() |
Возвращает клон, если реализация клонируется. (Унаследовано от MessageDigestSpi) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| Digest() |
Выполняет хэш-вычисления, выполняя окончательные операции, такие как заполнение. |
| Digest(Byte[], Int32, Int32) |
Выполняет хэш-вычисления, выполняя окончательные операции, такие как заполнение. |
| Digest(Byte[]) |
Выполняет окончательное обновление дайджеста с помощью указанного массива байтов, а затем завершает вычисления дайджеста. |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| EngineDigest() |
Выполняет хэш-вычисления, выполняя окончательные операции, такие как заполнение. (Унаследовано от MessageDigestSpi) |
| EngineDigest(Byte[], Int32, Int32) |
Выполняет хэш-вычисления, выполняя окончательные операции, такие как заполнение. (Унаследовано от MessageDigestSpi) |
| EngineGetDigestLength() |
Возвращает длину дайджеста в байтах. (Унаследовано от MessageDigestSpi) |
| EngineReset() |
Сбрасывает дайджест для дальнейшего использования. (Унаследовано от MessageDigestSpi) |
| EngineUpdate(Byte[], Int32, Int32) |
Обновляет дайджест с помощью указанного массива байтов, начиная с указанного смещения. (Унаследовано от MessageDigestSpi) |
| EngineUpdate(ByteBuffer) |
Обновите дайджест с помощью указанного ByteBuffer. (Унаследовано от MessageDigestSpi) |
| EngineUpdate(SByte) |
Обновляет дайджест с помощью указанного байта. (Унаследовано от MessageDigestSpi) |
| Equals(Object) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| GetHashCode() |
Возвращает хэш-значение кода для объекта. (Унаследовано от Object) |
| GetInstance(String, Provider) |
Возвращает объект MessageDigest, реализующий указанный алгоритм дайджеста. |
| GetInstance(String, String) |
Возвращает объект MessageDigest, реализующий указанный алгоритм дайджеста. |
| GetInstance(String) |
Возвращает объект MessageDigest, реализующий указанный алгоритм дайджеста. |
| IsEqual(Byte[], Byte[]) |
Сравнивает два дайджеста для равенства. |
| JavaFinalize() |
Устаревшие.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| Notify() |
Просыпается один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| Reset() |
Сбрасывает дайджест для дальнейшего использования. |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| Update(Byte[], Int32, Int32) |
Обновляет дайджест с помощью указанного массива байтов, начиная с указанного смещения. |
| Update(Byte[]) |
Обновляет дайджест с помощью указанного массива байтов. |
| Update(ByteBuffer) |
Обновите дайджест с помощью указанного ByteBuffer. |
| Update(SByte) |
Обновляет дайджест с помощью указанного байта. |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.> (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IJavaPeerable.Disposed() |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| IJavaPeerable.Finalized() |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. (Унаследовано от JavaObject) |
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Этот класс MessageDigest предоставляет приложениям функциональные возможности алгоритма дайджеста сообщений, например SHA-1 или SHA-256. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |