問題タブ [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.

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

string - How to deal with special characters in a string

I have a php script creating an encoded value, for example:

I then need to decode this in a vb.net application The problem is that value above can have any characters. And VB.net can't handle it:

So any suggestions how to deal with that value?

0 投票する
8 に答える
301440 参照

php - PHPを使用してパスワードを暗号化および復号化する最良の方法は?

重複の可能性:
PHP双方向暗号化:取得可能なパスワードを保存する必要があります

ユーザーの外国のアカウント情報、別名rapidshareのユーザー名とパスワードなどを自分のWebサイトに保存する予定です。情報を安全に保ちたいのですが、ユーザーの情報をハッシュすると、後で使用するために取得できないことを知っています。 。

Base64は復号化可能であるため、それを単純に使用しても意味がありません。私の考えは、ユーザーをスクランブルし、復号化した後でもそのようにbase64される前後にパスすることです。復号化しようとすると、見栄えの悪いテキストが表示されます。文字列の一意のスクランブルを作成し、後で値が再入力されたときにスクランブルを解除する値を受け入れるphp関数はありますか?

助言がありますか?

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

php - PHP: mcrypt が文字列の先頭をガベージにマングルします

サーバー側で中程度から強力な暗号化が必要なので、PHP で mcrypt を使用すると考えました。以下の関数を使用すると、元の文字列の先頭が復号化後にバイナリ ガベージに変わります。(これは追加のガベージが追加されるという通常の問題ではなく、代わりに文字列が変更されます。) ドキュメントによると、mcrypt_encrypt() は、選択したアルゴリズムのブロック サイズに一致するように十分な文字をパディングする必要がありますが、機能しないと思われます。

ただし、Rijndael の 128 ビット (16 バイト) のブロック サイズに手動でパディングしても、うまくいきません。これを機能させる唯一の方法は、ガベージブロックをカバーするのに十分な長さの文字列を先頭に追加し、その文字列とデータの間に「DATA#」などの既知のプレフィックスを追加することです。復号化後、そのブロックは部分的に壊れていますが、私のプレフィックスとその後のすべてのデータは正しく復号化されています.

関数の何が問題になっていますか? データにそのようなプレフィックスを付ける必要があるのはなぜですか (私はそれを汚い回避策と考えているので、修正したいと考えています)。

暗号化されたデータを保存することは問題ではありません。データベースに保存せずに暗号化の直後に復号化すると、同じエラーが発生します。

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

php - MCryptとPHPをCentOSで連携させる方法

CentOSに(yum経由で)mcryptをインストールしましたが、A)でdl()呼び出しを実行しようとすると、B)にメッセージが表示されます。

  • A)dl(mcrypt.so)またはdie('Mcryptモジュールをロードできませんでした['。$prefix。'mcrypt。'。PHP_SHLIB_SUFFIX。']');
  • B)Mcryptモジュールをロードできませんでした[mcrypt.so]

これで、yumがmcryptをインストールしたことはわかりましたが、mcryptが配置された場所がわかりません。それを見つけることができますか?さらに重要なのは、最新のインストール済みmcryptをPHPシステムで動作させるにはどうすればよいですか。多くのスレッドがPHPを再コンパイルすることを提案しています(例: http://forums.theplanet.com/index.php? showtopic = 26527)が、CentOSでこれを行う方法がわかりません。また、ライブラリパスを試してみましたが無駄になりました。どんな助けでも大歓迎です。

設定

  • CentOS: Linux localhost.localdomain 2.6.18-128.1.6.el5#1 SMP Wed Apr 1 09:10:25 EDT 2009 x86_64 x86_64 x86_64 GNU / Linux
  • mcrypt: mcrypt-2.6.8-1.el5.x86_64
  • PHP: php-5.1.6-23.2.el5_3.x86_64

ありがとう
ティム

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

php - Mac OS X 10.5.8 に PHP 用の Mcrypt 拡張機能をインストールする

mcrypt のインストール方法を教えてください。PHP5 で Leopard 10.5.8 を使用しています。

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

php - Mcryptはインストールされていますが、PHPINFOに表示されません

私はなんとかmcryptlibをインストールできたと思います。ファイルは配置されていますが、ライブラリがまったく実行されていないようです。

追加しようとしました:

PHP.INIへ; ダメ。何か助けはありますか?

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

php - MacOSXでDYLD環境を設定する場所と方法

私は長い探求の真っ最中です。今では、mcryptライブラリをMac OS X PHPにインストールしようとしています(前の質問はここここここ)。

私はそれを可能な解決策に絞り込みました。これには、DYLD環境でのパラメーターの設定が含まれます(または何か。ここで推測しています)。この環境がどこで宣言されているか、誰か知っていますか?

どんな助けでも素晴らしいでしょう。ありがとう。

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

php - PHP 5.2.8 ソースから Mac OSX (10.5) に mcrypt をインストールするとテストに失敗します。

そのため、開発用にローカルに mcrypt をインストールしようとしています。これまでソースからコンパイルしたことがないので、ご容赦ください。

  1. libmcrypt-2.5.8 (ソースから) をダウンロードしてインストールします
  2. コンパイル済みの mcrypt.so をhttp://www.viames.it/mac-os-x.htmlからダウンロードします(注: コンパイル済みの gd.so は問題なく動作するようです)。
  3. php.ini を更新します (関連する行を含めるため)
  4. Web 共有 (Apache) を再起動します。ページを読み込めません
  5. extension=mcrypt.so 行を削除して apache を再起動すると、ページが再度読み込まれます)
  6. php.net から PHP 5.2.8 ソースをダウンロードし、/ext/mcrypt から mcrypt の構成とインストールを試みます。

この時点で、make test を実行すると失敗します。

念のため、sudo make install を実行し、php.ini を更新して、ページを読み込もうとしました。ページは正常に読み込まれました。phpinfo ページにアクセスしましたが、mcrypt がまったく表示されません。私はこれを数回行ったり来たりしましたが、まだ何も起こりませんでした。

make テストが失敗したときに何をすべきだったのかわからないため、今何をすべきかについて混乱しています。ある)。以下に、make test failed の要約結果を含めます。

どんな助けでも大歓迎です:)

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

php - PHPでAES256復号化を行う方法は?

復号化する必要のある暗号化されたテキストがあります。AES-256-CBCで暗号化されています。暗号化されたテキスト、キー、およびivがあります。しかし、何を試してもうまくいかないようです。

インターネットは、mcryptのRijndaelサイファーがこれを実行できるはずだと示唆しているので、これが私が今持っているものです:

現在のところ、2つの警告が表示され、出力はぎこちないものになっています。

どんな助けでもいただければ幸いです。

0 投票する
4 に答える
9574 参照

php - Ruby AES-256-CBC と PHP MCRYPT_RIJNDAEL_128 をうまく連携させる方法

Ruby スタックから PHP スタックに送信するデータを生成しています。Ruby 側では OpenSSL::Cipher ライブラリを使用し、PHP では 'mcrypt' ライブラリを使用しています。Ruby で 'aes-256-cbc' (256 ビット ブロック サイズ) を使用して暗号化する場合、PHP で MCRYPT_RIJNDAEL_128 (128 ビット ブロック サイズ) を使用して復号化する必要があります。cipher.iv_len が 16 であるため、Ruby コードが壊れていると思われます。私はそれが32であるべきだと信じています:

これが私のテストです。Ruby 側では、まずキーと iv を生成します。

次に、これらのキーを使用して暗号化を行います。

PHPの復号化は次のとおりです。

より長いブロックサイズを使用したいと思います。明らかに、私は API を誤解しています。ヘルプ?