2

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

4

0 に答える 0