python:M2Crypt:AESによる対象キー暗号化

たぶん動いている。

 

hdknr@debiansept:~/M2Crypto$ python2.5
Python 2.5 (release25-maint, Jul 20 2008, 20:47:25)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import M2Crypto
>>> dir(M2Crypto)
['ASN1', 'AuthCookie', 'BIO', 'BN', 'DH', 'DSA', 'EC', 'EVP', 'Engine', 'Err',
 'PGP', 'RC4', 'RSA', 'Rand', 'SMIME', 'SSL', 'X509', '__builtins__', '__doc__',
 '__file__', '__loader__', '__m2crypto', '__name__', '__path__', 'decrypt', 'encrypt',
 'ftpslib', 'httpslib', 'm2', 'm2urllib', 'm2urllib2', 'm2xmlrpclib', 'threading',
 'urllib2', 'util', 'v', 'version', 'version_info']
>>> import M2Crypto.EVP

>>> cipher='aes_256_cbc'
>>> text="My name is Prince!"

>>> import uuid,hashlib
>>> key = hashlib.sha256(str(uuid.uuid1)).hexdigest()
>>> iv  = hashlib.md5(   str(uuid.uuid1)).hexdigest()

>>> enc = M2Crypto.EVP.Cipher(cipher,key,iv,M2Crypto.encrypt)
>>> data = enc.update(text)
>>> data+= enc.final()

>>> data
'_\xe8\xb3\xeb\xbatlZ"\xd00Q\xad]\xa5\x9f\xff\xa3C#\xb4^\xafu\xc9\xf3\xbe\x96A\xc1\xe5w'

>>> dec = M2Crypto.EVP.Cipher(cipher,key,iv,M2Crypto.decrypt)
>>> org = dec.update(data)
>>> org+= dec.final()
>>>
>>> org
'My name is Prince!'
カテゴリー: 未分類 パーマリンク

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中