php CRYPT_BLOWFISH в формате as3

В php вы можете использовать функцию crypt и дать ей соль, начинающуюся с "$2a $", чтобы зашифровать строку с помощью CRYPT_BLOWFISH.

Например.

echo crypt("test", "$2a$13$1mFan0ihXzWfxATGXSKRqe");
//output: $2a$13$1mFan0ihXzWfxATGXSKRqedMoYWoXpPizu4Q274LnpVVJ7gyza3Lq

Я попытался сгенерировать вывод в формате as3, используя библиотеку as3crypto. Фрагмент кода, который я пробовал.

var key:ByteArray = Hex.toArray("$2a$13$1mFan0ihXzWfxATGXSKRqe");
var blowfish:BlowFishKey = new BlowFishKey(key);
var dataBytes:ByteArray = new ByteArray();
dataBytes.writeUTFBytes("test");
blowfish.encrypt(dataBytes);
var encrypted:String = Hex.fromArray(dataBytes).toUpperCase();
trace(encrypted);
//output: 986C8D386BEAD6AE

Я не думаю, что эти шифры иглобрюхов одинаковы. Согласно документации на php.net, php blowfish, основанный на bcrypt, является одним из способов. В as3 я также могу расшифровать зашифрованное сообщение.

Я искал библиотеку blowfish, которая в as3 дает тот же результат, что и в php, без успеха. Кто-нибудь знает, как сгенерировать тот же вывод в actionscript 3.0, что и в php?

ОБНОВЛЕНИЕ

Я использую адоб эйр. Так что нативное решение тоже приемлемо. Я мог бы создать собственное расширение или использовать NativeProcess для доступа к нему для шифрования вместо as3.

ОБНОВЛЕНИЕ 2 На данный момент я использую программу командной строки, созданную с помощью С# с использованием класса bcrypt, найденного на http://derekslager.com/blog/posts/2007/10/bcrypt-dotnet.-сильный-хеш-пароль-для-dotnet-and-mono.ashx


person automaticoo    schedule 08.08.2012    source источник
comment
Попробуйте посмотреть, может ли содержимое этого поста помочь вам: не могу создать as3-совместимую строку Blowfish в ruby"> stackoverflow.com/questions/11622011/   -  person Kao    schedule 09.08.2012
comment
В этом посте также упоминается, что версия as3 использует другой метод, чем шифрование Blowfish на стороне сервера :(   -  person automaticoo    schedule 13.08.2012