توی پست قبلی یه خرده در مورد رمزنگاری صحبت کردیم و طبق قولی که دادیم قرار شد یه آموزش هم برای ساختن یه همچین برنامه ای درست کنیم و خط به خط برای شما توضیح بدیم تا افراد علاقمند به رمزنگاری هم با نحوه ی کد نویسی برای رمزنگاری آشنا بشن ، البته در آینده ای نه چندان دور به آموزش ساخت برنامه ی رمزگشایی هم میپردازیم ولی شما اینو یاد بگیرین و تمرین کنین تا بعد ببینیم چی میشه .
برای ساخت برنامه ای برای رمزنگاری متن در پایتون نیاز به یه کتابخونه داریم به نام Hashlib ، این کتابخونه همونطور که از اسمش پیداست برای کارای رمزنگاری استفاده میشه ، البته گفتنیه که کتابخونه های زیادی برای اینکار توی پایتون قرار داره ، خب برای اینکار به مسیر برنامه ای که نصبه میریم و وارد پوشه اسکریپت ها میشیم ، مسیر برنامه ی من به این شکله
C:\Python27\Scripts
بعد از وارد شدن به پوشه ی مورد نظر ، کلید شیفت رو پایین نگه میداریم و بعد از راست کلیک کردن روی گزینه
Open Command Window Here
بزنین ، بعد از اینکه محیط خط فرمان براتون باز شد این دستور رو اونجا وارد کنین و منتظر بمونین تا کتابخونه کامل نصب بشه
pip install hashlib
بعد از اینکه کتابخونه ی مورد نظر نصب شد وارد برنامه میشیم و از منوی File گزینه ی New File رو انتخاب میکنیم و مجدد میپردازیم به ذخیره ی اون ، بعد از ذخیره کردن وارد محیط کد نویسی میشیم و تکه کد پایین رو کپی میکنیم توی محیط برنامه
import hashlib
md5 = hashlib.md5()
md5.update("Virus32.Blog.Ir")
print md5.hexdigest()
خب توی خط اول کتابخونه ای که دانلود کرده بودیم رو وارد برنامه کردیم ( Hashlib ) توی خط دوم یه متغیر با اسم md5 درست میکنیم و برابرش میکنیم با نوع رمزنگاری که ما از md5 که توی کتابخونه ی Hashlib وجود داره استفاده میکنیم ، توی خط سوم متغیرمون رو بروز رسانی میکنیم و رشته یا همون متنمونو توی دابل کوتیشن قرار میدیم و در خط چهارم متغیرمون که اسمش md5 بود رو پرینت میکنیم .
گفتنیه که ما میتونیم از روش های زیر هم برای رمزنگاری متن مورد نظرمون استفاده کنیم
sha1
sha224
sha256
sha384
sha512
md5
برای استفاده از این نوع رمزنگاری ها توی خط دوم کدهایی که یه خرده بالاتر گفتیم ، بعد از اینکه متغیر درست کردیم و اسم کتابخونه رو نوشتیم و نقطه گذاشتیم ، میتونیم یکی از موارد بالارو اضافه کنیم و بعد از باز و بسته کردن پرانتز برنامه رو استارت میکنیم
بهتون پیشنهاد میکنم حتما تست کنین تا ببینین که نوع رمزنگاری ها چه فرقی با هم میکنن و چه تغییری توی متنی که بصورت رمزنگاری شده از خروجی میگیریم میکنه .
من خودم کلمه ی Virus32 رو با انواع مختلف رمزنگاری تست کردم و نتیجشون به شکل زیر شد
sha1 : 6320a7dce7641107edd476f6c6f95088a97d2972
sha224 : ff2197b78622a147bdb0b5a228faede1a7d11a2f393c397572e76b0b
sha256 : 0fd056dbbf9b231616689574c700a5e6de0a0380fe53434b85f94c627648630b
sha384 : 49d7131fd7bab1a86c1069489ae04e42059290160e8310b1f2fbe6173090065d6b40a5d1e9143a5c5dd06925c2442dab
sha512 : f2c97d318cf96652f2004018ebfee1c80e4613477984daa8f4d5f35044609f3676adc4feb3fa58d3f332ecd76ddf254808060d99f189cc02f63ade4a87bdee1f
md5 : fc97cc2b7961ed4492ca1a5aa7e03860
ایران همیشه سرافراز (: