OpenSSL:enc:AES / Key Size = 256 bit / CBC

OpenSSL のブロックサイズは 128 bitなので、 ivにも128ビットを指定するのが本当のところです。
#!/usr/bin/python2.5

import commands

TEXT="My Name is Prince"
PWD='prince'
OPT="-e -aes-256-cbc"
KEY="CF4DE3B1E9357231BF46FE7A935FE59C3E5ED4F55D2B356856D495FE3DA5E706"
IV="2E9E574145BD3CC4BC32FAAC65D95F980611B56D86A2E8AB90ED884336CA0512"

CMD="echo \"%s\" | openssl enc %s -k %s -P " % (TEXT,OPT,PWD)
CMD2="echo \"%s\" | openssl enc %s -K %s -iv %s | nkf -MB "



def main():
  (salt,key,iv)=[ x.split('=')[1] for x in  commands.getoutput(CMD).split('\n')]
  print "KEY=", key
  print "IV =",iv
  print "SRC=",TEXT
  ret = commands.getouput(CMD2 % (TEXT,OPT, key,iv))
  print "DST=",ret


if __name__ == '__main__':
  main()
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中