mcrypt_generic データを暗号化する &warn.deprecated.function-7-1-0.removed-7-2-0; &reftitle.description; stringmcrypt_generic resourcetd stringdata この関数は、データを暗号化します。データ長を n * blocksize とする ために、データは "\0" で埋められます。 この関数は、暗号化されたデータを返します。 データのパディングが行われるため、返される文字列の長さは 入力よりも長いことがあることに注意してください。 暗号化したデータをデータベースに格納する場合は、mcrypt_generic が返す文字列全てを格納することを忘れないでください。さもないと、 文字列を適切に復号できなくなります。もとの文字列が 10 文字で ブロックサイズが 8 (ブロックサイズを調べるには mcrypt_enc_get_block_size を使用します) だった場合、データベースのフィールドには少なくとも 16 文字が 必要です。mdecrypt_generic が返す文字列も 16 文字となることに注意しましょう。埋められた文字を取り除くには... rtrim($str, "\0") を使用します。 もし MySQL データベースにデータを格納する場合は、 varchar フィールドに値を挿入する際に末尾のスペースが取り除かれることを 覚えておきましょう。暗号化されたデータの最後にスペース(ASCII 32)が 含まれていた場合、この処理によってデータが破壊されてしまいます。 かわりに tinyblob/tinytext (あるいはより大きな) フィールドを 使用してください。 &reftitle.parameters; td 暗号化記述子。 この関数をコールする前には、常にキーと IV を用いて mcrypt_generic_init で暗号化ハンドルを 初期化しておくべきです。暗号化が終了したら、 mcrypt_generic_deinit をコールして 暗号化バッファを開放すべきです。使用例は mcrypt_module_open を参照ください。 data 暗号化するデータ。 &reftitle.returnvalues; 暗号化したデータを返します。 &reftitle.seealso; mdecrypt_generic mcrypt_generic_init mcrypt_generic_deinit