এটি দুটি এমডি 5 হ্যাশের সংমিশ্রণ।
এটি এর মত উত্পন্ন:
128bit_Key = MD5(Passphrase + Salt)
256bit_Key = 128bit_Key + MD5(128bit_Key + Passphrase + Salt)
আপনি এটি করে এটি পরীক্ষা করতে পারেন:
$ echo Testing > file
$ openssl enc -aes-256-cbc -p -in file -out file.aes -salt
: enter aes-256-cbc encryption password: abc
: Verifying - enter aes-256-cbc encryption password: abc
: salt=3025373CA0530C93
: key=E165475C6D8B9DD0B696EE2A37D7176DFDF4D7B510406648E70BAE8E80493E5E
: iv =B030394C16C76C7A94DC22FDDB6B0744
$ perl -e 'print pack "H*", "3025373CA0530C93"' > salt
$ echo -n abc > passphrase
$ cat passphrase > key.128.tmp
$ cat salt >> key.128.tmp
$ md5sum key.128.tmp
: e165475c6d8b9dd0b696ee2a37d7176d key.128.tmp
$ perl -e 'print pack "H*", "e165475c6d8b9dd0b696ee2a37d7176d"' > key.128
$ cat key.128 > key.256.tmp
$ cat passphrase >> key.256.tmp
$ cat salt >> key.256.tmp
$ md5sum key.256.tmp
: fdf4d7b510406648e70bae8e80493e5e key.256.tmp
লক্ষ্য করুন যে কীভাবে MD5 এর 'key.128.tmp' এবং 'key.256.tmp' উভয় মিলে প্রাথমিক কমান্ডে আউটপুট হিসাবে একই কী গঠন করে।
md5পরিবর্তেsha1, আমি মূলত পোস্ট হিসাবে একই ফলাফল পেয়েছি। প্রশ্নটি হল, এমডি 5 (128-বিট হ্যাশিং অ্যালগরিদম) থেকে এটি 256 বিট কীভাবে পাবে?