9
|
1 #!./bin/python |
|
2 |
|
3 from Crypto.Cipher import AES |
|
4 import hashlib |
|
5 import hmac |
|
6 from binascii import hexlify, unhexlify |
|
7 |
|
8 # echo -n '1234567890123456' | openssl enc -aes-128-ecb -K '61616262636364646565666667676868' | hexdump -C |
|
9 |
|
10 # output: |
|
11 #cli_key yyuuiiooddeeffqqddii, hex 7979757569696f6f646465656666717164646969 |
|
12 #enc_key aabbccddeeffgghh, hex 61616262636364646565666667676868 |
|
13 #data 1234567890123456, hex 31323334353637383930313233343536 |
|
14 #data 1234567890123456, hex 31323334353637383930313233343536 |
|
15 #enc hex 0ba302059bfc650d4491268448102119 |
|
16 #hmac hex ecd858ee07a8e16575723513d2d072a7565865e4 |
|
17 |
|
18 |
|
19 cli_key = 'yyuuiiooddeeffqqddii' |
|
20 enc_key = 'aabbccddeeffgghh' |
|
21 indata = '1234567890123456' |
|
22 |
|
23 print "cli_key %s, hex %s" % (cli_key, hexlify(cli_key)) |
|
24 print "enc_key %s, hex %s" % (enc_key, hexlify(enc_key)) |
|
25 print "data %s, hex %s" % (indata, hexlify(indata)) |
|
26 |
|
27 print "data %s, hex %s" % (indata, hexlify(indata)) |
|
28 |
|
29 a = AES.new(enc_key) |
|
30 enc = a.encrypt(indata) |
|
31 |
|
32 print "enc hex %s" % hexlify(enc) |
|
33 |
|
34 h = hmac.new(cli_key, enc, hashlib.sha1).digest() |
|
35 print "hmac hex %s" % hexlify(h) |
|
36 |