タグ

phpと暗号に関するiwwのブックマーク (9)

  • PHPのOpenSSL関数を利用して暗号化する例

    (Last Updated On: 2021年2月15日) 色々やることがあってブログを更新できていませんでした。久々のブログはPHPのOpenSSL関数を使ってAES-256-CBCを使って暗号化する例です。今時のハードウェアとソフトウェアならハードウェアAESが利用できるので普通はAES-256-CBCで構わないでしょう。 ”パスワード”だけで暗号化する例 暗号を利用する場合のポイントは以下の通りです。 IV(Initialization Vector ソースでは$iv)にはランダムな「バイト」を利用する。IVに16進数のハッシュ「テキスト」を使うと折角のIVの空間を半分にしてしまいます。IVには毎回ランダムバイトを設定する。鍵($key)には「バイト」を利用する。IVと同様にハッシュ「テキスト」などを使うと鍵空間が半分になってしまう。人に256ビットの鍵を要求するのは非現実的なので、

    PHPのOpenSSL関数を利用して暗号化する例
  • PHP: はじめに - Manual

    警告 この機能は PHP 7.1.0 で 非推奨 となり、 PHP 7.2.0 で削除 されました。 この機能の代替として、これらが使えます。 Sodium (PHP 7.2.0から利用可能) OpenSSL 注意: この拡張モジュールは » PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 7.2.0. この関数は、CBC, OFB, CFB, ECB 暗号モードの DES, TripleDES, Blowfish (デフォルト), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 , GOST のような広範なブロックアルゴリズムをサポートする mcrypt ライブラリへのインターフェイスです。加えて、"フリーではない" とされている RC6 および IDEA もサポートします

    iww
    iww 2019/04/09
    『警告 この機能は PHP 7.1.0 で 非推奨 となり、 PHP 7.2.0 で削除 されました。』
  • PHP: mcrypt_encrypt - Manual

    パラメータ cipher MCRYPT_暗号名 定数のいずれか、 あるいはアルゴリズム名をあらわす文字列。 key データを暗号化する際のキー。 指定した暗号化方式に対応していないサイズのキーを渡された場合は、 警告を発して false を返します。 data 指定した cipher および mode で暗号化するデータ。 データの大きさが n * blocksize でない場合、データは、 '\0'で埋められます。 返される暗号化されたテキストは、data で指定したデータの大きさよりも大きくなる可能性があります。 mode 定数 MCRYPT_MODE_モード名、あるいは文字列 "ecb", "cbc", "cfb", "ofb", "nofb" ,"stream" のいずれか。 iv CBC, CFB, OFB モードおよび STREAM モードのいくつかのアルゴリズムの初期化の際に

    iww
    iww 2019/02/06
    『この関数は PHP 7.1.0 で 非推奨になります。この関数に頼らないことを強く推奨します。』 まだ大丈夫、もう少し頑張ってもらおう
  • 異なる言語間での暗号化と復号 - ぱせらんメモ

    仕事でデータを暗号化して保存する必要が出てきたので色々調べてみた。 メインのシステムはPHPで作っているんだけど、Javaなども絡んでくるので、お互いが処理できる暗号方式でなければいけない。 仕様さえ明確にしてあればオレオレアルゴリズムでもいいんだけど、今回はかなり重要なデータを扱うので世間でそれなりに使われている暗号方式を使うことにした。 暗号の種類 自分も暗号にそんな詳しいわけではないけど、「データをパスワードで暗号化するんでしょ?」ぐらいにしか思ってない人はきっと大変な思いをする。 今の話で登場するのは 暗号化したいデータ 暗号の種類(アルゴリズム) パスワード(暗号処理に使うキー) の3つだけど、これからやろうとしてるブロック暗号では 暗号化したいデータ 暗号の種類(アルゴリズム) 暗号処理に使うキー(パスワードというかバイト列) 暗号利用モード(ブロック処理の種類) 初期化ベクト

    異なる言語間での暗号化と復号 - ぱせらんメモ
    iww
    iww 2016/04/11
    『PKCS#5 Padding: この方式は切り捨てるべきサイズ(=埋めるサイズ)の値を表すバイト値で足りない分を埋めるという方式。』
  • PHP: 定義済み定数 - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • PHP Equivalent for Java Triple DES encryption/decryption

  • PHPで暗号化した文字列をJAVAで複合化できない!? - ある、プログラマーの記憶

    逆もしかりです。 恐らく方法はあるんだと思いますが 公開されているAPIだけでは不可能だと思います。 暗号化には ・アルゴリズム:RIJNDAEL128 ・ブロック暗号:CBC ・初期ベクトル:1234567812345678(CBCモードでの暗号化の場合、これが必要。最低16Byte) を、使用 PHPのソースは省きます・・・w長いんでw Javaのソースはこんな感じ /** * 秘密鍵の生成<br> * 鍵は固定でひとつだけ持つ。 * * @return SecretKeySpec skeySpec 秘密鍵 */ public SecretKeySpec secretKey() throws Exception { byte[] key = "1234567812345678".getBytes(); kgen.init(128); SecretKeySpec keyspec = ne

    PHPで暗号化した文字列をJAVAで複合化できない!? - ある、プログラマーの記憶
  • PHP: stream_socket_enable_crypto - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    iww
    iww 2014/05/01
    いつのまにかこんな便利そうなものが
  • サービス終了のお知らせ

    iww
    iww 2012/03/04
    PEARもいやなんだよな
  • 1