Вверх ↑
Ответов: 5446
Рейтинг: 323
#1: 2013-07-28 23:17:06 ЛС | профиль | цитата
RinniX, в hiasm используется стандартное MS CryptoAPI, а PHP - библиотеку mcrypt. Подружить их между собой - задача нетривиальная. Один из вариантов (не смотри, что там про C# разговор - используется всё то же CryptoAPI). Ну и на страничке PHP:mcrypt есть вот такой коментарий (уж не знаю, за что заминусовали)
When using 3DES between PHP and C#, it is to be noted that there are subtle differences that if not strictly observed, will result in annoying problem encrypt/decrypt data.

1), When using a 16 bytes key, php and c# generates total different outcome string. it seems that a 24 bytes key is required for php and c# to work alike.
2), php doesnt have a "padding" option, while c# has 3 (?). My work around is to add nulls i.e. chr(0) to the end of the source string to make its size times of 8, while in c#, PaddingMode.Zeros is required.
3) the key size has to be times of 8, in php, to make it work for c#.

Опять же, хоть разговор про C#, всё это применимо и к HiAsm-у.
карма: 1

0