# HG changeset patch # User Matt Johnston # Date 1370448313 -28800 # Node ID 3aa92c7f379c49fa9613bf712d740e185b77b7f8 # Parent 03da5ff767e99e154b0207cf0131449871458ea8 test python crypto script diff -r 03da5ff767e9 -r 3aa92c7f379c test.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test.py Thu Jun 06 00:05:13 2013 +0800 @@ -0,0 +1,36 @@ +#!./bin/python + +from Crypto.Cipher import AES +import hashlib +import hmac +from binascii import hexlify, unhexlify + +# echo -n '1234567890123456' | openssl enc -aes-128-ecb -K '61616262636364646565666667676868' | hexdump -C + +# output: +#cli_key yyuuiiooddeeffqqddii, hex 7979757569696f6f646465656666717164646969 +#enc_key aabbccddeeffgghh, hex 61616262636364646565666667676868 +#data 1234567890123456, hex 31323334353637383930313233343536 +#data 1234567890123456, hex 31323334353637383930313233343536 +#enc hex 0ba302059bfc650d4491268448102119 +#hmac hex ecd858ee07a8e16575723513d2d072a7565865e4 + + +cli_key = 'yyuuiiooddeeffqqddii' +enc_key = 'aabbccddeeffgghh' +indata = '1234567890123456' + +print "cli_key %s, hex %s" % (cli_key, hexlify(cli_key)) +print "enc_key %s, hex %s" % (enc_key, hexlify(enc_key)) +print "data %s, hex %s" % (indata, hexlify(indata)) + +print "data %s, hex %s" % (indata, hexlify(indata)) + +a = AES.new(enc_key) +enc = a.encrypt(indata) + +print "enc hex %s" % hexlify(enc) + +h = hmac.new(cli_key, enc, hashlib.sha1).digest() +print "hmac hex %s" % hexlify(h) +