🔒 نحوه ایجاد هش رمز عبور برای سرپرست CouchDB – مجموعه امنیت اطلاعات

کاوچدیبی با استفاده از یک الگوریتم هش کردن 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