کاوچدیبی با استفاده از یک الگوریتم هش کردن PBKDF2 (رمز عبور بر اساس کلید اشتقاق تابع 2) و فروشگاه های هش رمز عبور با استفاده از کد هش از اندازه های سفارشی برای کاوچدیبی مدیر.
-pbkdf2-6bb90d1d03ec4fb62afc5ef8be2edb8eaad4320c، 5ffa3ff6471d4cbda5e444e5e34b1c51،10
که ترجمه [19659002] – _algorithm – hashed-password ، نمک ، number_of_iterations
راه حل ویژه
برای یک خط ساده Pyon استفاده کنید و آن را با فرمت CouchDB نمایش دهید.
$ PASS = "notsosecurepassword" SALT = "5ffa3ff6471d4cbda5e444e5e34b1c51" ITER = 10
python3 -c "import os، hasllib؛ print ('- pbkdf2-٪ s،٪ s،٪ s'٪ (hashlib.pbkdf2_hmac ('sha1'، os.enround ['PASS'] .encode ()، os.enround ['SALT'] .encode ()، INT (os.environ ['ITER'] .encode ())). سحر و جادو ()، os.environ ['SALT']، os.environ ['ITER'])) "
-pbkdf2-6bb90d1d03ec4fb62afc5ef8be2edb8eaad4320c، 5ffa3ff6471d4cbda5e444e5e34b1c51 ، 10
راه حل دائمی
از اسکریپت زیر Python3 استفاده کنید تا یک هش رمز عبور برای مدیران CouchDB ایجاد کنید.
#! / Usr / bin / env python3
# ایجاد هش رمز عبور برای مدیران CouchDB
واردات استدلال
واردات uuid
hashlib واردات
گزینه های # خط فرمان را تعریف و تجزیه کنید
parser = argparse.ArgumentParser (توضیحات = 'ایجاد هش رمز عبور برای مدیران CouchDB')
parser.add_argument ('- رمز عبور' ، لازم = صحیح ، کمک = 'تعریف رمز عبور (لازم)))
parser.add_argument ('- نمک' ، پیش فرض = uuid.uuid4 (). hex، help = 'نمک را تعریف کنید (پیش فرض: تصادفی)')
parser.add_argument ('- iterations'، نوع = int، پیش فرض = 10، help = 'تعیین تعداد تکرارها (پیش فرض:٪ (پیش فرض))')
parser.add_argument ('- length'، type = int، پیش فرض = 20، help = 'طول هش (پیش فرض:٪ (پیش فرض)) تعریف کنید))
parser.add_argument ('- verbose'، action = 'store_true'، help = 'حالت تأیید (پیش فرض:٪ (پیش فرض))))
args = vars (parser.parse_args ())
# هش رمز عبور ایجاد کنید
password_hash = hashlib.pbkdf2_hmac ('sha1'، args ["password"] .encode ()، args ["salt"] .encode ()، args ["iterations"]، dklen = arg [["length"]))
# هش CouchDB ایجاد کنید
couchdb_hash = "-pbkdf2-" + password_hash.hex () + "،" + args ["salt"] + "،" + str (args ["iterations"])
# نمایش اطلاعات دقیق در حالت واژگان
اگر استدلال ["verbose"] صحیح است:
چاپ ("رمز عبور:" ، استدلال می کند ["password"])
چاپ ("نمک:" ، استدلال می کند ["salt"])
چاپ ("دفعات مشاهده:" ، استدلال می کند ["iterations"])
چاپ ("طول هاش:" ، استدلال می کند ["length"])
چاپ ("Hash:" ، password_hash.hex ())
# نمایشگر هش CouchDB
چاپ ("هش CouchDB:" ، couchdb_hash)
اطلاعات راهنما را نشان بده.
$ python couchdb_pbkdf2.py --help
استفاده: couchdb_pbkdf2.py [-h] --password PASSWORD [--salt SALT]
[--iterations ITERATIONS] [--length LENGTH]
[--verbose]
ایجاد هش رمز عبور برای مدیران CouchDB
آرگومان های اختیاری:
-h ، - راهنما این پیام راهنما را نشان داده و از آن خارج شوید
- کلمه عبور PASSWORD تعریف رمز عبور (لازم)
--salt SALT تعریف نمک (پیش فرض: تصادفی)
- تکرار ITERATIONS
تعداد تکرارها را تعریف کنید (پیش فرض: 10)
- طول LENGTH تعریف طول هش (پیش فرض: 20)
--verbose Verbose حالت (پیش فرض: نادرست)
توجه داشته باشید که هش رمز عبور رشته ای در قالب شش ضلعی است ، بنابراین طول هش 20 عدد 40 کاراکتر را برمی گرداند.
با استفاده از نمک تهیه شده ، هش رمز عبور ایجاد کنید.
$ python couchdb_pbkdf2.py - کلمه کلیدی notsosecurepassword --salt 5ffa3ff6471d4cbda5e444e5e34b1c51
CouchDB hash: -pbkdf2-6bb90d1d03ec4fb62afc5ef8be2edb8eaad4320c ، 5ffa3ff6471d4cbda5e444e5e34b1c51،10
ایجاد یک هش رمز عبور با استفاده از نمک تصادفی و نمایش اطلاعات دقیق.
$ python couchdb_pbkdf2.py - کلمه کلیدی notsosecurepassword --verbose
گذرواژه: notsosecurepassword
نمک: 543376fa61d24691a9af7b2f547ee55e
تکرارها: 10
طول هاش: 20
هاش: d055e0baf1c4db04ca6571d369d39447821770dc
هش CouchDB: -pbkdf2-d055e0baf1c4db04ca6571d369d39447821770dc ، 543376fa61d24691a9af7b2f547ee55e ، 10
$ PASS = "notsosecurepassword" SALT = "5ffa3ff6471d4cbda5e444e5e34b1c51" ITER = 10
python3 -c "import os، hasllib؛ print ('- pbkdf2-٪ s،٪ s،٪ s'٪ (hashlib.pbkdf2_hmac ('sha1'، os.enround ['PASS'] .encode ()، os.enround ['SALT'] .encode ()، INT (os.environ ['ITER'] .encode ())). سحر و جادو ()، os.environ ['SALT']، os.environ ['ITER'])) "
-pbkdf2-6bb90d1d03ec4fb62afc5ef8be2edb8eaad4320c، 5ffa3ff6471d4cbda5e444e5e34b1c51 ، 10
راه حل دائمی
توجه داشته باشید که هش رمز عبور رشته ای در قالب شش ضلعی است ، بنابراین طول هش 20 عدد 40 کاراکتر را برمی گرداند.
با استفاده از نمک تهیه شده ، هش رمز عبور ایجاد کنید.
$ python couchdb_pbkdf2.py - کلمه کلیدی notsosecurepassword --salt 5ffa3ff6471d4cbda5e444e5e34b1c51
CouchDB hash: -pbkdf2-6bb90d1d03ec4fb62afc5ef8be2edb8eaad4320c ، 5ffa3ff6471d4cbda5e444e5e34b1c51،10
ایجاد یک هش رمز عبور با استفاده از نمک تصادفی و نمایش اطلاعات دقیق.
$ python couchdb_pbkdf2.py - کلمه کلیدی notsosecurepassword --verbose
گذرواژه: notsosecurepassword نمک: 543376fa61d24691a9af7b2f547ee55e تکرارها: 10 طول هاش: 20 هاش: d055e0baf1c4db04ca6571d369d39447821770dc هش CouchDB: -pbkdf2-d055e0baf1c4db04ca6571d369d39447821770dc ، 543376fa61d24691a9af7b2f547ee55e ، 10