問題タブ [mcrypt]
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.
php - mcrypt encrypt '%00' の束を文字列の末尾に追加する
OAuth を操作し、次の関数で「foo」と呼ぶ文字列 (実際には OAuth トークン) を使用してキーを暗号化します。
逆関数を使用して復号化すると、次のようになります。
関数:
結果:
foo%00%00%00%00%00%00%00%00%00%00%00%00%00%00
編集:
もう少し調べてみると、実際には %00 への URL エンコードであることがわかりました。これは、文字列が何らかの形で null 文字で埋め込まれていることを意味しますか? だから私は現在トリム()を使ってそれらを取り除きますが、なぜこれが起こっているのか理解したいと思います.
php - aspEncrypt で暗号化された php の文字列を復号化する
persits の aspEncrypt を使用する asp プラットフォームと通信する必要があります。aspEncrypt ルーチンを介して作成された PHP と mcrypt を使用して文字列をデコードする方法の例を誰でも提供できますか。
aspEncrypt のサンプル ページは、次のリンクから入手できます: http://support.persits.com/encrypt/demo_text.asp
したがって、テキスト「Test」とキー「test」を使用すると、base64 でエンコードされた文字列が提供されます。キー「test」を使用して、このエンコードされた文字列をテキスト「Test」に変換するphpの例が必要です。
php - Mcrypt と Drupal のインストール
MCrypt は Drupal インストールの標準的な部分ですか? Drupal が存在する場所ならどこにでもインストールされていると想定できますか?
php - PHPでの暗号化/復号化のためのMcryptの代替?
暗号化と復号化を行う必要がある Drupal モジュールのコードを提供しています。Drupal システムに Mcrypt モジュールがインストールされているとは思えません。代替の暗号化メカニズムとして何を使用できますか?
これは金融関連のものではないので、高度な暗号化は必要ありませんが、優れているほど優れています...
php - mcrypt、PHP、および MySQL を使用した暗号化
mcrypt を使用してデータベースにパスワードを保存しようとしています。まず第一に、それは機能しますが、ごくたまにしかありません。
これが私の暗号化コードです:
これにより、$username、$iv、および $password が MySQL データベースにアップロードされます。
これが私の復号化コードです:
$username、$iv、および $encpass (暗号化されたパスワード) がデータベースから取得され、ユーザー名を使用してキーが再作成されます。
これは機能しますが、たまにしかありません。理由がわかりません。私の唯一の仮定は、引用符など、暗号化によって生成される文字の一部をデータベースが受け入れることができないということです。
どんな助けでも大歓迎です!
php - URL パラメーターを介して mcrypt で暗号化された文字列を送信する - デコードされたテキストが壊れている
私は単純な承認スキームをいじっています。SSL やその他の HTTP 認証なしで行う最も簡単な方法は、共有キー暗号化だと思います。PHPマニュアルの簡単な例を採用して、次のことを思いつきました。
このリクエストを受け取るページ (temp2.php) は次のようになります。
これは非常に近いですが、正しくデコードされません-エコーします
boggles the invisible monkey will rule t—;eôügJë
ハングアップが何であるかわかりません。リクエストで文字が壊れているのではないかと考えて、urlencode/urldecode と htmlentities を試しましたが、違いはありませんでした。
私が見逃しているものは他にありますか?おそらくパディング?
ありがとう
php - さまざまなPHPmcryptアルゴリズムの速度
やあみんな。今日、私はphpmcryptアルゴリズムをテストしていました。
テストを実行して、さまざまなmcryptアルゴの速度を確認します。
テストされたアルゴリズム: Cast-128、Gost、Rijndael-128、Twofish、Cast-256、Loki97、Rijndael-192、Saferplus、Blowfish-compat、Des、Rijndael-256、Serpent、Xtea、Blowfish、Rc2、Tripledes。
テストはECBモードで実行されました(CBC、CFB、CTR、ECB、NCFB、NOFB、OFBも使用できます)。
「これはテストです」という単純な文字列を暗号化しました。次の結果は、1000回の反復に対するものです(結果は秒単位です)。
ブローフィッシュ0.5217170715332
ブローフィッシュコンパット0.46304702758789
CAST 128 0.19502091407776
CAST 256 0.28649806976318
DES 0.45267295837402
GOST 0.19383502006531
LOKI97 0.27537798881531
RC2 0.44201898574829
RIJNDAEL 128 0.2560601234436
RIJNDAEL 192 0.33414602279663
RIJNDAEL 256 0.42553782463074
SAFERPLUS 0.32848501205444
SERPENT 0.391037940979
トリプルDES0.65123796463013
TWOFISH 0.27349305152893
XTEA 0.37829685211182
もちろん、セキュリティについて話すとき、その処理時間は最も重要なことではありません。結果を共有したいだけです。
どのmcryptアルゴリズムとモードを使用していますか、またその理由は何ですか? 状況やセキュリティレベルなどにもよりますが、例を挙げてください。
php - mcrypt_generic_init: iv パラメータの意味
Blowfish 暗号を使用して一部のバイナリ データを暗号化するために、php mcrypt ライブラリを使用してコードの一部を確認しています。基本的に、モードでフグ記述子を作成し、常に「12345678」に等しいパラメータで関数をMCRYPT_MODE_CBC
呼び出します。mcrypt_generic_init
iv
簡素化されたコード抽出:
mcrypt-generic-init関数のドキュメントには、次のように記載されています。
IV は通常、アルゴリズム ブロック サイズのサイズを持つ必要がありますが、mcrypt_enc_get_iv_size() を呼び出してサイズを取得する必要があります。IV は ECB では無視されます。IV は、CFB、CBC、STREAM、nOFB、および OFB モードで存在する必要があります。ランダムで一意である必要があります(ただし、秘密ではありません)。暗号化/復号化には同じ IV を使用する必要があります。使用したくない場合はゼロに設定する必要がありますが、これはお勧めしません。
私の質問は次のとおりです。
このパラメーターは何に使用されますか? パラメータのそのような値を使用するiv
ことは弱点ですか? 秘密にする必要はないと言われているので、攻撃者はどうにか入手できるのでわかりません。それが弱点ではなく、このパラメータのそのような値が完全に問題ない場合、ゼロに設定することが推奨されないのはなぜですか? 「12345678」の代わりに疑似ランダム文字列をハードコーディングした方がはるかに良いでしょうか?
c - Mcrypt ライブラリのファイルへの書き込み結果
暗号化されたデータをファイルに書き込もうとしています。ただし、それをプログラムに読み込んで復号化しようとすると、ゴミが返されるだけです。ファイルに書き込まなくても動作するようです..何が間違っていますか?
コードは次のとおりです。
php - 24 文字の mcrypt ソルト制限をオーバーライドするにはどうすればよいですか?
mcrypt で 24 文字を超えるソルトを使用したいと考えています。
ただし、$salt を 24 文字より大きくすると、この警告がスローされ、24 文字で切り捨てられたソルトが使用されます。
警告: mcrypt_encrypt() [function.mcrypt-encrypt]: このアルゴリズムには鍵のサイズが大きすぎます
これを回避する方法はありますか?