問題タブ [blowfish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
565 参照

c# - ProcessBytes を取得して正確な量を返すことはできますか?

BouncyCastel を使用して CfbBlockCipher を作成しているので、コードは次のとおりです。

それで...

16しか返さない場合said ProcessBytes(buf, 0, 17)は、DoFinal()も試しましたが、うまくいきません!!! IBufferedCipherdec/enc-ing の正確な量を取得するには、それを使用する必要がIStreamCipherありますか? そして、私CfbBlockCipherは何らかの形で壊れているか、ここで何かをしていると信じています。

0 投票する
3 に答える
2356 参照

java - JavaとPHPでのBlowfishの出力が2文字だけ異なるのはなぜですか?

PHPとJAVAのblowfish暗号化スクリプトがあり、問題が発生した今日まで正常に機能していました。

同じコンテンツは、JavaとPHPで2文字しか暗号化されていないため、非常に奇妙です。

PHP

Java

ご覧のとおり、これら2つの位置は一致していません。残念ながら、値は実際のメールアドレスであり、共有することはできません。また、テストした他のいくつかの値では問題を再現できませんでした。JavaでBase64エンコードクラスを変更しようとしましたが、どちらも役に立ちませんでした。

PHPのソースコードはここにあり、Javaのソースコードはここにあります。

この問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
1153 参照

java - PHPMyAdmin MySQL 接続構成を JDBC に変換する

これらのパラメーターを使用して、PHPMyAdmin をリモート MySQL サーバーに接続しています。

JavaでこのMySQLサーバーに接続しようとしていますが、どちらも機能しません:

そして、「:3306」が削除された場合:

次のエラーが表示されます。

これは、「blowfish_secret」(単なるランダム Cookie) と「auth_type」="cookie" が Java で考慮されていないことが原因だと思います。

これを修正するにはどうすればよいですか?

また、MySQL に、jdbc ドライバーとの対話を受け入れる必要があることを伝える必要がありますか? (はいの場合、私は失敗しています。MySQL 構成ファイルにアクセスできません)

0 投票する
2 に答える
7163 参照

php - PHPBcryptハッシュ

Blowfishハッシュを使用してパスワードをハッシュしたい。

crypt()5.3より前のPHPバージョンではサポートされていません

私のPHPバージョンは5.2.14です。Blowfishハッシュを使用するにはどうすればよいですか?Crypt_Blowfish代わりにPEARを使用できますか?

0 投票する
3 に答える
303 参照

php - PHP.net は「任意の」PHP リファレンスの信頼できるリソースですか?

原住民をざわつかせないように、私の「質問」を修正します。

最近、インターネット上には非常に多くのリソース (SO を含む) があるようで、質問に対する "an" 回答を見つけるのは簡単かもしれませんが、その回答が有効であるか、最新のものであるかを確認するにはどうすればよいでしょうか?

特によく聞かれる分野の 1 つは、データベース ストレージで準備するために PHP でハッシュと暗号化を適切に処理する方法です。SO に関する一般的な回答の 1 つは、「まだ php.net にアクセスしたことがありますか?」というものです。これは通常、誰かが最も簡単な質問をする質問になることを理解していますが、いくつかの説明が矛盾しているように見え始め、さらに重要なことに、ユーザーの例が古くなっています (2008 年から 2009 年までの多く)。

例: パスワードハッシュを使用する理由と方法を調べる場合: http://www.php.net/manual/en/faq.passwords.php#faq.passwords.fasthash

要約すると、sha1 と md5 は高速で計算効率の高いハッシュ方法であり、パスワードのハッシュには適していないことがわかりました。推奨される方法は、crypt() 関数を使用することです。

crypt() および特にフグのハッシュについてさらに学習する場合、このページに記載されているルールは次のとおりです。

http://www.php.net/manual/en/function.crypt.php

  • 私の塩を$ 2a $から始めます
  • 2つの数値で続行します(以下のユーザーはこれの重要性を述べていますが、php.netはそうではありません)
  • $ を続けてください
  • 22文字の英数字を入力してください

さらに読むと、次の例が得られます。

同じページの例は、使用するように指示されたばかりの規則に従っていないようです (「$2a$07$」の後の 26 文字。

戻り値は次のとおりです。

フグ:
$2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi

基本的に、文字列自体は実際に変更されますが、SALT 値のほぼ全体 (上記の最初の 22 文字) は大きく開いています。これにより、実際の文字列が何であるかを判断するのがいくらか簡単になりませんか?

さらに重要なことに、これは 1 つの例にすぎませんが、最終的に、PHP.net などのリソースにどの程度依存する必要があるのでしょうか?

友人のムガトゥがかつて言ったように、「私はクレイジーな薬を飲んでいるような気がします」.

注:上記のページは最初の投稿以降に編集されたため、最初の質問と提供された例から変更されていないことを保証することはできません.

0 投票する
1 に答える
1020 参照

ruby-on-rails-3 - Ruby 1.9:gem crypt19:blowfish.encrypt_string:エンコーディングの問題

ハッシュをJSONにシリアル化し、gemcrypt19とblowfishアルゴリズムを使用してハッシュをエンコードするRailsアプリを構築しています。Rails 3.0.9、Ruby 1.9.2 p180、最新のcrypt19 v1.2.1を使用しており、Windows7で開発しています。私のRailsコントローラーでは、次のことを行います。

モデル内の値(文字列)にencrypted_thingyを割り当てます。

しかし、モデルを保存すると、モデルが保存される場所で引数エラー例外がスローされます。

(そして、私がそれに単純な古い文字列@ my_model = "xxxxxxxx"を割り当てると、すべてが正常に機能します。

私の最終的な計画は、encrypted_thingyをモデルを介してデータベースに保存し、後でそれを復号化し、JSONを解析して、「thing」と「thang」の値を取得することです。

'ネットを検索すると、エンコーディングを変更する必要があることがわかりましたが、crypt19/blowfishエンコーディングの結果でそれをどのように行うかは明確ではありません。

この暗号化された文字列を、私が保存する他の文字列と同じように文字列として保存する方法はありますか?

または、(リバーシブルマジックとともに)魔法を適用して、そのファンキーな文字列を、電子メールで渡すことができる実際の文字列に変換する方法はありますか?

0 投票する
2 に答える
1963 参照

php - PHP で as3crypto フグ データを復号化する際のエラー

私は現時点でActionScript 3を初めて使用し、処理のためにサーバーに送信する前に、as3cryptoライブラリを使用してblowfishアルゴリズムで一部のデータを暗号化しようとしています。https を使用できることはわかっていますが、ほとんどのブラウザーは引き続き送信データを表示するため、ユーザーは簡単にリクエストを偽装できます。そのため、ユーザーにページ要求を表示させたいのですが、復号化せずにデータを読み取ることはできません。

残念ながら、as3crypto ライブラリの decumentation は、コード内のコメント (あまり役に立ちません) を除けば、ほとんど存在しません。as3crypto フグ暗号化を「実装」するためにいくつかの静的関数を使用してフラッシュ側をセットアップしましたが、フラッシュ内でのみ暗号化/復号化に問題なく動作します。問題は、mcrypt ライブラリを使用して PHP でキーを使用して復号化しようとすると発生します。私が得た出力は元のコードではなく、なぜ役に立たないのかを理解するために数日を費やしました。

以下、コードと解説です。この例では、使用されるキーは「mykey」(引用符なし) で、エンコードされたデータは「Hello World」(引用符なし) です。

フラッシュ コード (as3crypto フグ ヘルパー):

その出力は実行ごとに異なりますが、この実行例の目的のために、得られる base64 でエンコードされた出力は「EkKo9htSJUnzBmxc0A==」です。

そのコードを PHP に取り込むと、復号化するために以下のメソッドに渡される前に base64 でデコードされます。

この時点で、出力は完全に読めなくなります。この問題は、blowfish の as3crypto 実装が正しくない (可能性は低い) か、使用するパディング (現在は null パディング) に関係している可能性があるか、最後に私が考えたことが原因であると思われます。エンコードされた文字列の先頭に追加されていない as3crypto でランダムに生成された初期化ベクトルと関係がありますか? as3crypto ライブラリは大規模で複雑であり、文書化されていないため、最後の 1 つを実際にテストすることはできませんでした。私はこの問題をグーグルで検索し、数日間すべてをテストしましたが、PHP で使用できないデータを見つけ続けています。Flash から PHP へのシステムを動作させることができるかどうかはわかっています。それをリバース エンジニアリングして、PHP から Flash への暗号化も実行することができます。

実際に夜の睡眠が犠牲になっているので、この件に関するすべての意見を歓迎します笑 よろしくお願いします:)


今日、さらにテストを行い、疑ったように初期化ベクトルであるかどうかを確認しようとしました。それが問題だとは思いません。エンコードされた出力を生成するために使用される IV の出力を取得できるように、フラッシュでいくつかのことを変更しました。

この例では、「1bcGpqIbWRc=」のエンコードされた IV と「XpgART3hNQO10vcgLA==」のエンコードされた暗号化データを取得しました。base64_decode() でそれらを ing した後、これらを修正した PHP 関数にプラグインしました。

この出力でさえ正しくありません。IV が Flash と PHP の両方で正しいサイズであることを確認するためにいくつかのテストを行いましたが、何らかの理由で PHP 側では Flash からのフグでエンコードされた出力を復号化できません。as3crypto で NULL と PKCS5 の両方のパディングを使用してみましたが、どちらも PHP のシステムでは機能しません。IV 文字列が Flash と PHP の両方で同じであることを確認するためにテストしました。どちらも同じキーを使用しています。どちらもCFBモードを使用しています。理解できません。同じアルゴリズム、同じキー、同じ IV、同じモードですが、互いに復号化できません。フグの as3crypto 実装が正しくないように思えます。誰でもこれを確認できますか?

0 投票する
1 に答える
1932 参照

c++ - C++でのOpensslblowfish暗号化アルゴリズムの使用

パスワードを暗号化し、暗号化されたパスワードを照合してパスワードが弱いかどうかを確認するコードを書いています。ECBモードAPIを使用して暗号化コードを記述しましたが、期待どおりに機能していません。コードのデバッグ中に出くわす質問はいくつかあります。私が見る唯一のオプションは、BF_ecb_encryptです。

1)ecbモードは一度に8バイトで動作します。パスワードが8文字未満の場合はどうなりますか?ランダムに生成されたcharを埋める必要がありますか?またはゼロで?このように機能しますか?または他の可能な方法

2)スニペット:

コードにバグはありますか?

よろしくお願いします。

0 投票する
1 に答える
401 参照

iphone - パスワード暗号化用にインポートされたblowfish Cライブラリを使用してiPhoneプロジェクトをビルドするとエラーが発生します

ここでフグのリファレンスのソースコードをダウンロードし、それを使用しようとすると、「blowfish.h」をインポートし、「blowfish.lib」のターゲット参照をセットアップしました。

キーを次のように宣言すると:

それはうまくいきますが、すぐに「blowfish.h」で定義されたメソッドを呼び出すと、次のようになります。

プロジェクトをビルドしようとすると、次のエラーが発生しました。

アーキテクチャ i386 の未定義のシンボル: "_BF_set_key"、参照元: -[HPNetworkController authenticateUser:withPassword:] in HPNetworkController.o ld: アーキテクチャ i386 のシンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました

どんな助けでも大歓迎です、ありがとうみんな;)

0 投票する
2 に答える
2645 参照

php - PHP 5.2でbcryptの「ハッシュ」を使用する方法はありますか?

パスワードハッシュを使用してWebサイトを運営していますが、現在のアルゴリズムでは不十分だと思います。PHPのcrypt()をblowfishオプションで使用しようとしましたが、PHPのバージョンが5.2しかないため、CRYPT_BLOWFISHが有効になっていません。

Blowfishを介して暗号化できるサードパーティのライブラリを見たことがありますが、完全なBcryptハッシュを実行するライブラリはありません。crypt()関数を使用せずにbcryptハッシュを使用していることを知っているPHPライブラリはありますか?または、さらに良いことに、サードパーティのblowfish暗号化アルゴリズムをサードパーティのbcryptハッシュアルゴリズムにフィードする方法はありますか?

明確にするために、私は共有ホスティングを使用しているため、新しいバージョンのPHPをインストールできません。

何か提案をいただければ幸いです。ありがとう!