|
v7: Шифрование алгоритмом SHA1 | ☑ | ||
---|---|---|---|---|
0
Sam1C
04.05.17
✎
15:22
|
Всем доброго дня! Нашел способ шифровать SHA1 с помощью библиотеки capicom.dll. через объект "CAPICOM.HashedData", в нем один метод (Hash) и два св-ва (Algorithm - задает алгоритм шифрования и Value - возвращает результат). Но мне надо шифровать с помощью ключа. И что не могу найти как сделать это в 7.7
|
|||
1
polosov
04.05.17
✎
15:25
|
SHA1 вроде же для создания хешей
|
|||
2
Sam1C
04.05.17
✎
15:31
|
(1) вот функция на php:
https://php.ru/manual/function.hash-hmac.html Вот такую функцию мне надо сделать в 7.7 |
|||
3
Sam1C
04.05.17
✎
15:31
|
(1) т.е. с генерировать хеш-кода на основе ключа
|
|||
4
polosov
04.05.17
✎
15:36
|
(3) Тебе что-то типа этого надо
http://wiki.simplit.info/doku.php/solution/sdk/rom-hmac |
|||
5
Sam1C
04.05.17
✎
15:42
|
(4) Написано поддерживает только 8-ку
|
|||
6
mehfk
04.05.17
✎
16:07
|
Обратись к Serginio1
|
|||
7
Serginio1
07.05.17
✎
19:22
|
||||
8
Serginio1
07.05.17
✎
19:30
|
Вот пример шифрования HMAC
Функция ВычислитьHMAC(key,стр) врап=СоздатьОбъект("NetObjectToIDispatch45"); врап.УстЭтоСемерка(); // если только латиница //encoding=Врап.ПолучитьТип("System.Text.Encoding").ASCII; encoding=Врап.ПолучитьТип("System.Text.Encoding").UTF8; keyByte = encoding.GetBytes(key); hmacmd5 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACMD5",keyByte); hmacsha1 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACSHA1",keyByte); messageBytes = encoding.GetBytes(стр); hashmessage = hmacmd5.ComputeHash(messageBytes); hashmessage2 = hmacsha1.ComputeHash(messageBytes); BitConverter=Врап.ПолучитьТип("System.BitConverter"); Strhashmessage=СтрЗаменить(BitConverter.ToString(hashmessage),"-",""); Strhashmessage2=СтрЗаменить(BitConverter.ToString(hashmessage2),"-",""); Сообщить(Strhashmessage); Сообщить(Strhashmessage2); КонецФункции// ВычислитьHMAC() |
|||
9
Serginio1
07.05.17
✎
19:32
|
По образу и подобию
https://msdn.microsoft.com/ru-ru/library/system.security.cryptography.sha1(v=vs.110).aspx В следующем примере вычисляется SHA1 хэш для data и сохраняет его в result. В этом примере предполагается наличие Предопределенная константа DATA_SIZE. SHA1 sha = new SHA1CryptoServiceProvider(); // This is one implementation of the abstract class SHA1. result = sha.ComputeHash(data); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |