問題タブ [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 - パートII:RubyAES-256-CBCとPHPMCRYPT_RIJNDAEL_128を一緒にうまく機能させる方法
この質問は、 RubyAES-256-CBCとPHPMCRYPT_RIJNDAEL_128を一緒にうまく機能させる方法に関する私の最後の質問の続きです。私は今それを機能させていますが、私はまだ他の方向に進むのに苦労しています。PHPで生成された暗号文には、提供されたすべての情報が含まれているようですが、Rubyコードでエラーなしに復号化することはできません。
暗号文の生成に使用しているPHPコードは次のとおりです。
次に、Rubyで復号化する試みを示します。
これについて本当にイライラするのは、暗号化された文字列からクリアテキスト全体を取得できることです。上記を繰り返しますが、暗号文にナンセンスパッドを追加します。
私の実際のユースケースでは、クリアテキストは構造化されているので(あなたが尋ねたので、JSON文字列)、このスキームを使用して、を実行せずに暗号化が不十分な入力を検出できるという点で安心cipher.final
です。ただし、コード内でこの種のクラッジを許容することはできないため、ルビーコードで最後のブロックを適切に処理する方法を理解したいと思います。
php - base64 エンコーディングとシリアライゼーションでの mcrypt 双方向暗号化の問題
更新 (解決策)
この投稿はかなりの注目を集めているように思われるので、解決策は宣言で適切なenctype
(コンテンツ タイプ) パラメーターを提供することになったことをお知らせしたいと思います。デフォルトの enctype を使用して行われるエンコードを防止するに<FORM>
は、値を に設定する必要があります。w3.orgのForms in HTML Documentsからの抜粋:multipart/form-data
application/x-www-form-urlencoded
コンテンツ タイプ「application/x-www-form-urlencoded」は、非 ASCII 文字を含む大量のバイナリ データまたはテキストを送信するのに非効率的です。ファイル、非 ASCII データ、およびバイナリ データを含むフォームを送信するには、コンテンツ タイプ「multipart/form-data」を使用する必要があります。
そして、ここに適切な FORM 宣言があります:
最初の質問
私は、フォーム フィールド名を mcrypt を使用して暗号化された値に本質的に置き換えるフォーム スパム保護クラスに取り組んでいます。これに関する問題は、mcrypt 暗号化がフォーム フィールドを無効にする英数字だけに限定されないことです。 以下のコードを考えると、既に暗号化された配列の値を復号化する際に問題が発生する理由を思いつきますか?
後で、次を使用して非表示のフォーム要素の値を設定する呼び出しを行います。
基本的に隠しフィールドには、暗号化された値で暗号化されたすべてのフォーム フィールドの配列が含まれます。これは、バックエンドでどのフィールドを復号化する必要があるかを知るためです。フォームの送信時に、このフィールドはバックエンドで次のコードを使用して解析されます。
暗号化されたフォーム フィールド キーを復号化しようとすると失敗します。$_POST
配列に新しい文字化けしたキーを作成するだけです。私の推測では、base64_encoding
orserialization
が から文字を削除してい$encrypted_data
ます。 これが原因であるかどうか、およびフォーム キーをエンコードするための代替方法があるかどうかを誰かが確認できますか?
php - PHPMyAdmin が 'mcrypt' が利用できないと文句を言っています。
Mac で PHPMyAdmin をセットアップしましたが、「mcrypt」関数をロードできないと不平を言っています。どうやら、Mac 上の PHP の標準インストールにはそれがありません。
誰が何を意味するのか教えてもらえますか?PHPMyAdmin のドキュメントも PHP のドキュメントも、どのような問題が発生するかを教えてくれないようです。
ちなみに、これは単なるローカルの個人用データベースです。生産ではありません。
php - PHP - mcrypt は暗号化された文字列でどのエンコーディングを使用しますか?
PHPを使用して、mcryptによって生成された暗号テキストをバイナリに変換しようとしていますが、暗号テキストに変換しようとすると、適切に変換されないため、復号化できません。エンコーディングがどこかでめちゃくちゃになっていると思いますが、どこから始めればよいかわかりません。これはサイトhttp://dev.hersha.me/str2bin.phpへのリンクで、ここに私のコードがあります。
何か案は?
php - PHP crypt と salt - より明確にしてください
私は昨日ここにいて、本当に素晴らしい答えをいくつか得ました。私が得たものをまとめてみると、かなり安全なアルゴリズムになると思います。ソルトを生成する for ループでフグを使用すると問題が発生します。
base64 文字と for ループを使用してランダムな文字列を取得しています。この生成された文字列を取得し、crypt 関数にソルトとして挿入します。
フグに関するドキュメントは非常にまばらで、PHP のドキュメントでは実際には言及されていないため、私はここで暗闇を突き刺しています。
本当に奇妙なことは、このコードを現在のように実行すると、失敗しないことです。for ループの上またはcrypt 関数から'$2a$07$' を削除すると、断続的に暗号化された文字列が返されます。フグについての私の理解では、暗号化された文字列は「$2a$07$」で始まり、「$」で終わる必要があるため、crypt 関数で連結されます。for ループの上の最初の文字列は本当に必要なく、取得したかっただけです。それを取り除きます。
また、ランダムソルトをデータベースに保存するか、暗号化関数の出力をデータベースに保存することで、ベストプラクティスについて明確にしたいと思いますか?
昨日、本当のコードが投げかけられることはなく、議論だけでした。今日はいくつかのコードをまとめて、かなり安全なものを用意したいと思います。誰かがより良いアルゴリズムを思い付くことができれば、私はいつでもオープンです.
php - PHPでAES暗号化を使用する場合、暗号鍵をどこに保存する必要がありますか?
Web アプリに AES-256 ビット暗号化を実装しています。
http://www.utoxin.name/2009/07/automatic-db-field-encryption-in-cakephp/
ステップの 1 つは、使用する暗号とキーをブーストラップ ファイルに保存することを示しています。しかし、誰かが PS などでファイル システムをスキャンしてデータを復号化するのを止めているのは何ですか?
データを保護する最善の方法は何ですか?
php - Mcrypt によるファイルの暗号化/復号化
ファイルを暗号化または復号化するいくつかの関数を作成しようとしており、ここにあるクラスを使用してこれを達成しようとしています:
http://www.itnewb.com/v/PHP-Encryption-Decryption-Using-the-MCrypt-Library-libmcrypt
以下の暗号化機能は、ファイルを暗号化し、目的のディレクトリに配置するように見えるという点で、機能しているようです。私は今ファイルを復号化しようとしていますが、「復号化を完了できませんでした」というメッセージが表示されて死ぬだけです(そこにコード化されています...)phpエラーログには何もないので、なぜ失敗したのかわかりません、しかし mcrypt は私にとってまったく新しいものなので、ここで何か間違ったことをしていると信じがちです...
関数は次のとおりです。
php - PHP mcrypt 使用クラス?
私はこれでかなり新しいです。PHP.net にある mcrypt のマニュアル ページを理解しようとしましたが、良いチュートリアルがあればより良い仕事ができると思いました。だから私はまだ実質的なものなしで検索しました。
mcrypt を使用して 2 つの関数で暗号化と復号化を実行する例の 1 つも試しましたが、「このアルゴリズムにはキーのサイズが大きすぎます」という警告が表示されます。
ライブラリを理解できるように、mcrypt を使用して暗号化/復号化を行うための双方向クラスを誰かに書いてもらえますか? ありがとう!
python - PyCrypto による AES 暗号化と mcrypt による復号化
一部の機密データについては、ディスクに AES 暗号化して保存することにしました。PyCryptoを使用して暗号化を実装しました。
さらに、データは重要であり、保存された暗号化されたデータは私の唯一のコピーになります (バックアップは別として)。そのため、PyCrypto が使用できなくなった可能性を考慮して、PyCrypto を使用せずにデータを取得する方法を探しました。私に(どんな理由であれ)。
mcryptがオプションになると思いました。
これは、いくつかの暗号文を作成するための私のテスト ケースです。
出力をファイルにリダイレクトし、out.nc
復号化を試みました
残念ながら、結果のファイルのout
サイズはゼロバイトです。
これを機能させるための mcrypt のオプションの組み合わせがあることを願っています…</p>
aes - Rijndael-128のMcrypt:初期化ベクトルを設定するにはどうすればよいですか?
mcryptコマンドラインツールでAES(rijndael 128)を使用してファイルを暗号化したいと思います。初期化ベクトルを特定の値に設定したいと思います。これどうやってするの?
ところで、私は暗号化にかなり慣れていません。
ありがとう!