|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Mac extends Object implements Cloneable
MAC обеспечивает способ проверить целостность информации, переданной или сохраненный в ненадежном носителе, основанном на секретном ключе. Как правило, коды аутентификации сообщений используются между двумя сторонами, которые совместно используют секретный ключ, чтобы проверить информации, переданной между этими сторонами.
Механизм MAC, который основан на криптографических хеш-функциях, упоминается как HMAC. HMAC может использоваться с любой криптографической хеш-функцией, например, MD5 или SHA 1, в комбинации с секретом совместно использованный ключ. HMAC определяется в RFC 2104.
Каждая реализация платформы Java обязана поддерживать следующий стандарт Mac алгоритмы:
| Модификатор | Конструктор и Описание |
|---|---|
protected |
Mac(MacSpi macSpi, Provider provider, String algorithm)
Создает объект MAC.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
Объект |
clone()
Возвращает клона, если реализация провайдера является cloneable.
|
byte[] |
doFinal()
Заканчивает работу MAC.
|
byte[] |
doFinal(byte[] input)
Обрабатывает данный массив байтов и заканчивает работу MAC.
|
void |
doFinal(byte[] output, int outOffset)
Заканчивает работу MAC.
|
Строка |
getAlgorithm()
Возвращает имя алгоритма этого
Mac объект. |
static Mac |
getInstance(String algorithm)
Возвраты a
Mac возразите, что реализует указанный алгоритм MAC. |
static Mac |
getInstance(String algorithm, Provider provider)
Возвраты a
Mac возразите, что реализует указанный алгоритм MAC. |
static Mac |
getInstance(String algorithm, String provider)
Возвраты a
Mac возразите, что реализует указанный алгоритм MAC. |
int |
getMacLength()
Возвращает длину MAC в байтах.
|
Провайдер |
getProvider()
Возвращает провайдера этого
Mac объект. |
void |
init(Key key)
Инициализирует это
Mac объект с данным ключом. |
void |
init(Key key, AlgorithmParameterSpec params)
Инициализирует это
Mac объект с данным ключом и параметрами алгоритма. |
void |
reset()
Сбросы это
Mac объект. |
void |
update(byte input)
Обрабатывает данный байт.
|
void |
update(byte[] input)
Обрабатывает данный массив байтов.
|
void |
update(byte[] input, int offset, int len)
Обрабатывает первое
len байты в input, запуск в offset включительно. |
void |
update(ByteBuffer input)
Процессы
input.remaining() байты в ByteBuffer input, запуск в input.position(). |
public final String getAlgorithm()
Mac объект. Это - то же самое имя, которое было определено в одном из getInstance вызовы, которые создали это Mac объект.
Mac объект.public static final Mac getInstance(String algorithm) throws NoSuchAlgorithmException
Mac возразите, что реализует указанный алгоритм MAC. Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект Mac инкапсуляция реализации Макспи от первого Провайдера, который поддерживает указанный алгоритм.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - стандартное имя требуемого алгоритма MAC. См. раздел Mac в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.Mac объект.NoSuchAlgorithmException - если никакой Провайдер не поддерживает реализацию Макспи для указанного алгоритма.Providerpublic static final Mac getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Mac возразите, что реализует указанный алгоритм MAC. Возвращается новый объект Mac инкапсуляция реализации Макспи от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - стандартное имя требуемого алгоритма MAC. См. раздел Mac в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider - имя провайдера.Mac объект.NoSuchAlgorithmException - если реализация Макспи для указанного алгоритма не доступна от указанного провайдера.NoSuchProviderException - если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException - если provider нуль или пустой.Providerpublic static final Mac getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Mac возразите, что реализует указанный алгоритм MAC. Возвращается новый объект Mac инкапсуляция реализации Макспи от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm - стандартное имя требуемого алгоритма MAC. См. раздел Mac в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider - провайдер.Mac объект.NoSuchAlgorithmException - если реализация Макспи для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException - если provider нуль.Providerpublic final Provider getProvider()
Mac объект.Mac объект.public final int getMacLength()
public final void init(Key key) throws InvalidKeyException
Mac объект с данным ключом.key - ключ.InvalidKeyException - если данный ключ является несоответствующим для того, чтобы инициализировать этот MAC.public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException
Mac объект с данным ключом и параметрами алгоритма.key - ключ.params - параметры алгоритма.InvalidKeyException - если данный ключ является несоответствующим для того, чтобы инициализировать этот MAC.InvalidAlgorithmParameterException - если данные параметры алгоритма являются несоответствующими для этого MAC.public final void update(byte input)
throws IllegalStateException
input - входной байт, который будет обработан.IllegalStateException - если это Mac не был инициализирован.public final void update(byte[] input)
throws IllegalStateException
input - массив байтов, которые будут обработаны.IllegalStateException - если это Mac не был инициализирован.public final void update(byte[] input,
int offset,
int len)
throws IllegalStateException
len байты в input, запуск в offset включительно.input - входной буфер.offset - смещение в input где ввод запускается.len - число байтов, чтобы обработать.IllegalStateException - если это Mac не был инициализирован.public final void update(ByteBuffer input)
input.remaining() байты в ByteBuffer input, запуск в input.position(). По возврату позиция буфера будет равна своему пределу; его предел не будет изменяться.input - ByteBufferIllegalStateException - если это Mac не был инициализирован.public final byte[] doFinal()
throws IllegalStateException
Звонок в этот метод сбрасывает это Mac возразите против состояния, в котором это было когда ранее инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec). Таким образом, объект сбрасывается и доступен, чтобы генерировать другой MAC от того же самого ключа, при желании, через новые звонки update и doFinal. (Чтобы снова использовать это Mac объект с различным ключом, это должно быть повторно инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec).
IllegalStateException - если это Mac не был инициализирован.public final void doFinal(byte[] output,
int outOffset)
throws ShortBufferException,
IllegalStateException
Звонок в этот метод сбрасывает это Mac возразите против состояния, в котором это было когда ранее инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec). Таким образом, объект сбрасывается и доступен, чтобы генерировать другой MAC от того же самого ключа, при желании, через новые звонки update и doFinal. (Чтобы снова использовать это Mac объект с различным ключом, это должно быть повторно инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec).
Результат MAC сохранен в output, запуск в outOffset включительно.
output - буфер, где результат MAC сохраненoutOffset - смещение в output где MAC сохраненShortBufferException - если данный буфер вывода является слишком небольшим, чтобы содержать результатIllegalStateException - если это Mac не был инициализирован.public final byte[] doFinal(byte[] input)
throws IllegalStateException
Звонок в этот метод сбрасывает это Mac возразите против состояния, в котором это было когда ранее инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec). Таким образом, объект сбрасывается и доступен, чтобы генерировать другой MAC от того же самого ключа, при желании, через новые звонки update и doFinal. (Чтобы снова использовать это Mac объект с различным ключом, это должно быть повторно инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec).
input - данные в байтахIllegalStateException - если это Mac не был инициализирован.public final void reset()
Mac объект. Звонок в этот метод сбрасывает это Mac возразите против состояния, в котором это было когда ранее инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec). Таким образом, объект сбрасывается и доступен, чтобы генерировать другой MAC от того же самого ключа, при желании, через новые звонки update и doFinal. (Чтобы снова использовать это Mac объект с различным ключом, это должно быть повторно инициализировано через звонок init(Key) или init(Key, AlgorithmParameterSpec).
public final Object clone() throws CloneNotSupportedException
clone в class ObjectCloneNotSupportedException - если это вызывают на делегате, который не поддерживает Cloneable.Cloneable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92