php opensslに基づく暗号解読方法の実現

1716 ワード

この例では、opensslベースの暗号解読をphpで実現する方法について説明する.皆さんの参考にしてください.具体的には以下の通りです.
Openssl暗号化による復号方法
1.openssl暗号化方法:

function encrypt($id){
  $id=serialize($id);
  $key="1112121212121212121212";
  $data['iv']=base64_encode(substr('fdakinel;injajdji',0,16));
  $data['value']=openssl_encrypt($id, 'AES-256-CBC',$key,0,base64_decode($data['iv']));
  $encrypt=base64_encode(json_encode($data));
  return $encrypt;
}


2.openssl復号方法:

function decrypt($encrypt)
{
  $key = '1112121212121212121212';//    
  $encrypt = json_decode(base64_decode($encrypt), true);
  $iv = base64_decode($encrypt['iv']);
  $decrypt = openssl_decrypt($encrypt['value'], 'AES-256-CBC', $key, 0, $iv);
  $id = unserialize($decrypt);
  if($id){
    return $id;
  }else{
    return 0;
  }
}


PS:暗号解読に興味のある方は、当駅のオンラインツールも参考にしてください.
パスワードセキュリティのオンライン検出:http://tools.jb51.net/password/my_password_safe
高強度パスワードジェネレータ:http://tools.jb51.net/password/CreateStrongPassword
MD 5オンライン暗号化ツール:http://tools.jb51.net/password/CreateMD5Password
迅雷、急行、サイクロンURL暗号化/復号ツール:http://tools.jb51.net/password/urlrethunder
オンラインハッシュ/ハッシュアルゴリズム暗号化ツール:http://tools.jb51.net/password/hash_encrypt
PHPに関する内容についてもっと兴味のある読者は、「php暗号化方法総括」、「PHP符号化とトランスコード操作テクニック総括」、「phpオブジェクト向けプログラム设计入门チュートリアル」、「PHP数学演算テクニック総括」、「PHP配列(Array)操作テクニック大全」、「php文字列(string)用法総括」、「PHPデータ构造とアルゴリズムチュートリアル」、「phpプログラム設計アルゴリズム総括」、「php正規表現用法総括」、および「phpよく見られるデータベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.