Hash ဂျင်နရေတာ
စာသား သို့မဟုတ် ဖိုင်တစ်ခုကို hash လုပ်ပါ
hex သို့မဟုတ် Base64 အထွက်နှင့် ရွေးချယ်နိုင်သော HMAC ပါသော SHA-1, SHA-256, SHA-384 နှင့် SHA-512 — ထို့အပြင် bcrypt နှင့် Argon2 စကားဝှက် hash။ အရာအားလုံးကို ဒေသတွင်း တွက်ချက်သည် — မည်သည့်အရာမျှ သင့်ဘရောက်ဇာမှ ထွက်မသွားပါ။
အထွက်ဖော်မတ်
HMAC ရွေးချယ်နိုင်သည်
သော့တစ်ခုသည် အယ်လ်ဂိုရစ်သမ်တိုင်းကို သော့ပါသော HMAC မုဒ်သို့ ပြောင်းပေးသည်။
Digest များ
စကားဝှက် hash လုပ်ခြင်း Argon2 · bcrypt · scrypt · PBKDF2
စကားဝှက်များ သိမ်းဆည်းရန် နှေးကွေး၊ salt ပါ၊ တစ်လမ်းသွား hash များ — အကြိမ်တိုင်း ကျပန်း salt အသစ်ကို သုံးသည်။ WebAssembly ဖြင့် ဒေသတွင်း လုပ်ဆောင်သည်။
ကိုယ်ရေးကိုယ်တာ ဦးစားပေး
Web Crypto API ဖြင့် ဒေသတွင်း hash လုပ်ခြင်း
Digest များကို crypto.subtle.digest နှင့် crypto.subtle.sign ဖြင့် တွက်ချက်သည် — ဘရောက်ဇာ၏ ကိုယ်ပိုင် စစ်ဆေးပြီးသား cryptography ဖြစ်သည်။ သင့်စာသား၊ ဖိုင်များနှင့် HMAC သော့များသည် စာမျက်နှာမှ မည်သည့်အခါမျှ ထွက်မသွားဘဲ ခြေရာခံကိရိယာများ မရှိ၊ နှင့် ကိရိယာသည် ဖွင့်ပြီးနောက် အော့ဖ်လိုင်းတွင်လည်း ဆက်လက်အလုပ်လုပ်သည်။
MD5 ဘာကြောင့် မပါသနည်း။
ဘရောက်ဇာများသည် Web Crypto API တွင် MD5 ကို အကောင်အထည်မဖော်ဘဲ၊ ၎င်းသည် cryptographic အရ ပျက်စီးနေသည် (လက်တွေ့ collision များ)။ ဤကိရိယာသည် ပလက်ဖောင်းက မူရင်းအတိုင်း ပေးအပ်သော SHA အယ်လ်ဂိုရစ်သမ်များကိုသာ ဖော်ပြသည်။
ဒေါင်းလုဒ်တစ်ခု၏ checksum ကို မည်သို့ စစ်ဆေးရမည်နည်း။
ထုတ်ဝေသူ အသုံးပြုခဲ့သော အယ်လ်ဂိုရစ်သမ် (များသောအားဖြင့် SHA-256) ကို ရွေးပါ၊ File တက်ဘ်သို့ ပြောင်းပါ၊ ဖိုင်ကို ရွေးပါ၊ နှင့် hex digest ကို ထုတ်ဝေထားသော တန်ဖိုးနှင့် နှိုင်းယှဉ်ပါ။ စာလုံးတစ်လုံး ကွဲပြားလျှင် ဖိုင်သည် မကိုက်ညီကြောင်း ဆိုလိုသည်။
Hex သို့မဟုတ် Base64 — မည်သည့်ဟာကို သုံးသင့်သနည်း။
Hex သည် checksum များအတွက် ပုံမှန်ဖော်မတ်ဖြစ်ပြီး စာလုံးကြီး/သေး မခွဲခြားပါ။ Base64 သည် ပိုတိုပြီး HTTP header, JWT နှင့် API များတွင် အသုံးများသည်။ digest ဘိုက်အကြမ်းများသည် တူညီ၏၊ encoding သာ ကွဲပြားသည်။
HMAC ဘာအတွက်နည်း။
HMAC သည် လျှို့ဝှက်သော့တစ်ခု ထည့်ပေးခြင်းဖြင့် tag တစ်ခုက မက်ဆေ့ချ် ခိုင်မာနေသည်နှင့် သော့ကိုင်ထားသူထံမှ လာသည်ဆိုသည်ကို နှစ်မျိုးလုံး သက်သေပြသည်။ ၎င်းကို API တောင်းဆိုမှု လက်မှတ်ထိုးခြင်း၊ webhooks နှင့် cookie/session ခိုင်မာမှုအတွက် အသုံးပြုသည်။
စကားဝှက်များအတွက် bcrypt သို့မဟုတ် Argon2 လား။
နှစ်ခုလုံးသည် နှေးကွေး၊ salt ပါသော စကားဝှက် hash များဖြစ်သည် — စကားဝှက်များအတွက် သာမန် SHA ကို ဘယ်တော့မှ မသုံးပါနှင့်။ bcrypt သည် စမ်းသပ်ပြီးသား၊ နေရာတိုင်းတွင်ရှိသည်၊ ဟာ့ဒ်ဝဲ တိုးတက်လာသည်နှင့်အမျှ ၎င်း၏ cost factor ကို မြှင့်ပါ။ Argon2id သည် ခေတ်မီ OWASP ပုံသေဖြစ်သည်— ၎င်း၏ memory cost (≈19 MiB စမ်းကြည့်ပါ) သည် GPU နှင့် ASIC ဖြိုခွဲမှုကို စရိတ်ကြီးစေသည်။ encode လုပ်ထားသော အထွက်တွင် salt နှင့် parameter များ ထည့်သွင်းပြီးသားဖြစ်သည်။