Nosalt AES encryption in Python

When you want to realize encryption with the'-nosalt'option in Python with the following AES-256 CBC encryption with openssl.

echo "this is secret"|openssl enc -aes-256-cbc -e -base64 -pass pass:hogehoge -p -nosalt

It was made like this.

def encryptAes(str, encKey, key_length=32, iv_length=16):
    d = d_i = ''
    while len(d) < key_length + iv_length:
        d_i = md5(d_i + encKey).digest()
        d += d_i
    key = d[:key_length]
    iv = d[key_length:key_length+iv_length]
    cipher = AES.new(key, AES.MODE_CBC, iv)
    _str = str + (iv_length - len(str) % iv_length) * chr(iv_length - len(str) % iv_length)
    return base64.b16encode(cipher.encrypt(_str)).lower()
print encyptAes("this is secret","hogehoge")

Leave as a memorandum.

Recommended Posts

Nosalt AES encryption in Python
Quadtree in Python --2
Python in optimization
CURL in python
Metaprogramming in Python
Python 3.3 in Anaconda
Geocoding in python
SendKeys in Python
Meta-analysis in Python
Unittest in python
Epoch in Python
Sudoku in Python
DCI in Python
quicksort in python
nCr in python
AES256 with python
N-Gram in Python
Programming in python
Plink in Python
Constant in python
Private methods and fields in python [encryption]
Lifegame in Python.
FizzBuzz in Python
Sqlite in python
StepAIC in Python
N-gram in python
LINE-Bot [0] in Python
Csv in python
Disassemble in Python
Reflection in Python
Constant in python
nCr in Python.
format in python
PPAP in Python
Quad-tree in Python
Reflection in Python
Chemistry in Python
Hashable in python
DirectLiNGAM in Python
LiNGAM in Python
Flatten in python
flatten in python
Sorted list in Python
Daily AtCoder # 36 in Python
Clustering text in Python
Daily AtCoder # 2 in Python
Implement Enigma in python
Daily AtCoder # 32 in Python
Daily AtCoder # 6 in Python
Daily AtCoder # 18 in Python
Edit fonts in Python
File operations in Python
Read DXF in python
Daily AtCoder # 53 in Python
Key input in Python
Use config.ini in Python
Daily AtCoder # 33 in Python
Solve ABC168D in Python
Logistic distribution in Python
Daily AtCoder # 7 in Python
LU decomposition in Python