PHPでは、 crypt関数を使用し、「$ 2a $」で始まるソルトを指定して、CRYPT_BLOWFISHを使用して文字列を暗号化できます。
例えば。
echo crypt("test", "$2a$13$1mFan0ihXzWfxATGXSKRqe");
//output: $2a$13$1mFan0ihXzWfxATGXSKRqedMoYWoXpPizu4Q274LnpVVJ7gyza3Lq
as3cryptoライブラリを使用してas3で出力を生成しようとしました。私が試したコードスニペット。
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
それらのblowfish暗号は同じではないと思います。php.netのドキュメントによると、bcryptに基づくphpblowfishは1つの方法です。as3では、暗号化されたメッセージを復号化することもできます。
as3で、成功せずにphpと同じ出力を提供するblowfishライブラリを検索しました。誰もがphpと同じ出力をactionscript3.0で生成する方法を知っていますか?
アップデート
私はadobeairを使用しています。したがって、ネイティブソリューションも受け入れられます。as3の代わりに、ネイティブ拡張を作成するか、NativeProcessを使用してそれにアクセスして暗号化を行うことができます。
UPDATE 2今のところ、 http: //derekslager.com/blog/posts/2007/10/bcrypt-dotnet-strong-password-hashing-for-dotnet-andにあるbcryptクラスを使用してc#で作成されたコマンドラインプログラムを使用しています。 -mono.ashx