رمزنگاری crypto
چکیدهی SHA و MD5، امضای HMAC، عدد تصادفی امن و درهم کردن گذرواژه.
واردسازی رمزنگاری
این بسته ابزارهای پایهی رمزنگاری را میدهد که همه به زبان سلام نوشته شدهاند. برای چکیدهی یک متن روالهای ... شانزدهی سادهترین راهاند؛ روالهای ... بایت چکیده را در حافظهای که خودتان میدهید مینویسند.
گذرواژهی کاربران را هرگز خام یا با یک چکیدهی ساده ذخیره نکنید؛ درهم گذرواژه و تایید گذرواژه را به کار ببرید. برای مقایسهی توکنها هم برابری راز را بهجای == به کار ببرید. برای رمز کردن داده بستهی تی ال اس را ببینید.
گونهها
شا۲۵۶ Sha256
ساختار شا۲۵۶| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| h | h | طبیعی۳۲[] | وضعیت درونی. |
| blk | blk | طبیعی۸[] | بلوک ناقص. |
| blen | blen | صحیح = 0 | طول بلوک ناقص. |
| total | total | طبیعی۶۴ | شمار کل بایتها. |
واردسازی رمزنگاری
واردسازی کدگذاری
واردسازی حافظه
روال ریشه:
سرچاپ رمزنگاری.شا۲۵۶ شانزدهی("abc")
سرچاپ رمزنگاری.شا۵۱۲ شانزدهی("abc").طول()
سرچاپ رمزنگاری.شا۱ شانزدهی("abc")
سرچاپ رمزنگاری.شا۱ پایه۶۴("abc")
سرچاپ رمزنگاری.ام دی۵ شانزدهی("abc")
متن := "abc"
خروجی := حافظه.تخصیص(۶۴ برگردان طبیعی۶۴)
رمزنگاری.شا۲۵۶ بایت(متن برگردان تهی*، ۳، خروجی)
سرچاپ کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۳۲)
رمزنگاری.شا۳۸۴ بایت(متن برگردان تهی*، ۳، خروجی)
سرچاپ کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۴۸)
رمزنگاری.شا۵۱۲ بایت(متن برگردان تهی*، ۳، خروجی)
سرچاپ کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۱۶).طول()
رمزنگاری.شا۱ بایت(متن برگردان تهی*، ۳، خروجی)
سرچاپ کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۲۰)
رمزنگاری.ام دی۵ بایت(متن برگردان تهی*، ۳، خروجی)
سرچاپ کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۱۶)
ناپایا ح := رمزنگاری.شا۲۵۶ جدید()
رمزنگاری.به روز رسانی شا۲۵۶(ح، "a" برگردان تهی*، ۱)
رمزنگاری.به روز رسانی شا۲۵۶(ح، "bc" برگردان تهی*، ۲)
رمزنگاری.نهایی شا۲۵۶(ح، خروجی)
سرچاپ کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۳۲)
ناپایا ب := رمزنگاری.شا۵۱۲ جدید()
رمزنگاری.به روز رسانی شا۵۱۲(ب، متن برگردان تهی*، ۳)
رمزنگاری.نهایی شا۵۱۲(ب، خروجی)
سرچاپ ب.outlen
ناپایا س := رمزنگاری.شا۳۸۴ جدید()
رمزنگاری.به روز رسانی شا۵۱۲(س، متن برگردان تهی*، ۳)
رمزنگاری.نهایی شا۵۱۲(س، خروجی)
سرچاپ س.outlen، کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۴۸)
حافظه.آزادسازی(خروجی)
سرچاپ رمزنگاری.درهم رشته("سلام") == رمزنگاری.درهم رشته("سلام")، رمزنگاری.درهم رشته("a") != رمزنگاری.درهم رشته("b")
سرچاپ رمزنگاری.درهم بایت(متن برگردان تهی*، ۳ برگردان طبیعی۶۴) == رمزنگاری.درهم رشته("abc")
سرچاپ رمزنگاری.درهم عدد(۴۲ برگردان طبیعی۶۴) != رمزنگاری.درهم عدد(۴۳ برگردان طبیعی۶۴)
پایانشا۵۱۲ Sha512
ساختار شا۵۱۲| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| h | h | طبیعی۶۴[] | وضعیت درونی. |
| blk | blk | طبیعی۸[] | بلوک ناقص. |
| blen | blen | صحیح = 0 | طول بلوک ناقص. |
| total | total | طبیعی۶۴ | شمار کل بایتها. |
| outlen | outlen | صحیح = 64 | طول چکیده: ۶۴ برای SHA-512 و ۴۸ برای SHA-384. |
نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
روالها
شا۲۵۶ شانزدهی Sha256Hex
روال شا۲۵۶ شانزدهی(data: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
پی بی کِی دی اف۲ شانزدهی Pbkdf2HmacSha256Hex
روال پی بی کِی دی اف۲ شانزدهی(password: رشته، salt: رشته، iterations: صحیح، keylen: صحیح): رشتهواردسازی رمزنگاری
واردسازی رشته
واردسازی حافظه
روال ریشه:
ذخیره := رمزنگاری.درهم گذرواژه("s3cret-پسورد")
سرچاپ رشته.شروع با(ذخیره، "pbkdf2-sha256$")
سرچاپ رمزنگاری.تایید گذرواژه("s3cret-پسورد"، ذخیره)، رمزنگاری.تایید گذرواژه("wrong"، ذخیره)
سرچاپ ذخیره != رمزنگاری.درهم گذرواژه("s3cret-پسورد")
سرچاپ رمزنگاری.پی بی کِی دی اف۲ شانزدهی("password"، "salt"، ۱، ۳۲)
سرچاپ رمزنگاری.برابری راز("abc"، "abc")، رمزنگاری.برابری راز("abc"، "xyz")
سرچاپ رمزنگاری.تصادفی ایمن شانزدهی(۱۶).طول()، رمزنگاری.توکن تصادفی ایمن(۳۲).طول() > ۰
ب := حافظه.تخصیص(۸ برگردان طبیعی۶۴)
رمزنگاری.بایت های تصادفی(ب، ۸)
حافظه.آزادسازی(ب)
پایاندرهم گذرواژه HashPassword
روال درهم گذرواژه(password: رشته): رشتهpbkdf2-sha256$تکرار$نمک$درهم برمیگرداند که در پایگاه داده نگه میدارید. هر بار خروجی فرق میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Password.salam
تایید گذرواژه VerifyPassword
روال تایید گذرواژه(password: رشته، encoded: رشته): منطقیدرهم گذرواژه ساخته بررسی میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Password.salam
برابری راز SecretEquals
روال برابری راز(a: رشته، b: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Password.salam
اچ مک شا۲۵۶ شانزدهی HmacSha256Hex
روال اچ مک شا۲۵۶ شانزدهی(key: رشته، msg: رشته): رشتهواردسازی رمزنگاری
واردسازی کدگذاری
واردسازی حافظه
روال ریشه:
کلید := "key"
پیام := "The quick brown fox jumps over the lazy dog"
سرچاپ رمزنگاری.اچ مک شا۲۵۶ شانزدهی(کلید، پیام)
سرچاپ رمزنگاری.اچ مک شا۱ شانزدهی(کلید، پیام)
سرچاپ رمزنگاری.اچ مک شا۱ بیس۶۴(کلید، پیام)
سرچاپ رمزنگاری.اچ مک شا۳۸۴ شانزدهی(کلید، پیام).طول()، رمزنگاری.اچ مک شا۵۱۲ شانزدهی(کلید، پیام).طول()
خروجی := حافظه.تخصیص(۶۴ برگردان طبیعی۶۴)
رمزنگاری.اچ مک شا۲۵۶ بایت(کلید، پیام، خروجی)
الف := کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۳۲)
رمزنگاری.اچ مک شا۲۵۶ خام(کلید برگردان تهی*، ۳، پیام برگردان تهی*، پیام.طول()، خروجی)
سرچاپ الف == کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۳۲)
رمزنگاری.اچ مک شا۱ بایتی(کلید، پیام، خروجی)
ب := کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۲۰)
رمزنگاری.اچ مک شا۱ خام(کلید برگردان تهی*، ۳، پیام برگردان تهی*، پیام.طول()، خروجی)
سرچاپ ب == کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۲۰)، ب == رمزنگاری.اچ مک شا۱ بیس۶۴(کلید، پیام)
رمزنگاری.اچ مک شا۳۸۴ بایت(کلید، پیام، خروجی)
ج := کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۴۸)
رمزنگاری.اچ مک شا۳۸۴ خام(کلید برگردان تهی*، ۳، پیام برگردان تهی*، پیام.طول()، خروجی)
سرچاپ ج == کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۴۸)
رمزنگاری.اچ مک شا۵۱۲ بایت(کلید، پیام، خروجی)
د := کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۶۴)
رمزنگاری.اچ مک شا۵۱۲ خام(کلید برگردان تهی*، ۳، پیام برگردان تهی*، پیام.طول()، خروجی)
سرچاپ د == کدگذاری.کدگذاری بایتها پایه۶۴(خروجی، ۶۴)
حافظه.آزادسازی(خروجی)
پایانشا۱ شانزدهی Sha1Hex
روال شا۱ شانزدهی(data: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۱ پایه۶۴ Sha1Base64
روال شا۱ پایه۶۴(data: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۱ بایت Sha1Bytes
روال شا۱ بایت(p: تهی*، n: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۲۵۶ بایت Sha256Bytes
روال شا۲۵۶ بایت(p: تهی*، n: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۳۸۴ بایت Sha384Bytes
روال شا۳۸۴ بایت(p: تهی*، n: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۵۱۲ بایت Sha512Bytes
روال شا۵۱۲ بایت(p: تهی*، n: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۲۵۶ جدید Sha256New
روال شا۲۵۶ جدید(): شا۲۵۶نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
به روز رسانی شا۲۵۶ Sha256Update
روال به روز رسانی شا۲۵۶(s &: شا۲۵۶، p: تهی*، n: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
نهایی شا۲۵۶ Sha256Final
روال نهایی شا۲۵۶(s: شا۲۵۶، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۳۸۴ جدید Sha384New
روال شا۳۸۴ جدید(): شا۵۱۲نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
شا۵۱۲ جدید Sha512New
روال شا۵۱۲ جدید(): شا۵۱۲نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
به روز رسانی شا۵۱۲ Sha512Update
روال به روز رسانی شا۵۱۲(s &: شا۵۱۲، p: تهی*، n: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
نهایی شا۵۱۲ Sha512Final
روال نهایی شا۵۱۲(s: شا۵۱۲، out: تهی*)outlen مینویسد.نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
درهم بایت HashBytes
روال درهم بایت(p: تهی*، n: طبیعی۶۴): طبیعی۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
درهم رشته HashStr
روال درهم رشته(s: رشته): طبیعی۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
درهم عدد HashInt
روال درهم عدد(x: طبیعی۶۴): طبیعی۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
تصادفی ایمن شانزدهی RandomHex
روال تصادفی ایمن شانزدهی(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Password.salam
توکن تصادفی ایمن RandomToken
روال توکن تصادفی ایمن(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Password.salam
بایت های تصادفی RandomBytes
روال بایت های تصادفی(p: تهی*، n: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Password.salam
ام دی۵ بایت Md5Bytes
روال ام دی۵ بایت(p: تهی*، n: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
ام دی۵ شانزدهی Md5Hex
روال ام دی۵ شانزدهی(data: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
اچ مک شا۲۵۶ خام HmacSha256Raw
روال اچ مک شا۲۵۶ خام(key: تهی*، klen: صحیح، msg: تهی*، mlen: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۳۸۴ خام HmacSha384Raw
روال اچ مک شا۳۸۴ خام(key: تهی*، klen: صحیح، msg: تهی*، mlen: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۵۱۲ خام HmacSha512Raw
روال اچ مک شا۵۱۲ خام(key: تهی*، klen: صحیح، msg: تهی*، mlen: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۲۵۶ بایت HmacSha256Bytes
روال اچ مک شا۲۵۶ بایت(key: رشته، msg: رشته، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۳۸۴ بایت HmacSha384Bytes
روال اچ مک شا۳۸۴ بایت(key: رشته، msg: رشته، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۵۱۲ بایت HmacSha512Bytes
روال اچ مک شا۵۱۲ بایت(key: رشته، msg: رشته، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۳۸۴ شانزدهی HmacSha384Hex
روال اچ مک شا۳۸۴ شانزدهی(key: رشته، msg: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۵۱۲ شانزدهی HmacSha512Hex
روال اچ مک شا۵۱۲ شانزدهی(key: رشته، msg: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
شا۵۱۲ شانزدهی Sha512Hex
روال شا۵۱۲ شانزدهی(data: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hash.salam
اچ مک شا۱ خام HmacSha1Raw
روال اچ مک شا۱ خام(key: تهی*، klen: صحیح، msg: تهی*، mlen: صحیح، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۱ بایتی HmacSha1Bytes
روال اچ مک شا۱ بایتی(key: رشته، msg: رشته، out: تهی*)نمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۱ شانزدهی HmacSha1Hex
روال اچ مک شا۱ شانزدهی(key: رشته، msg: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam
اچ مک شا۱ بیس۶۴ HmacSha1Base64
روال اچ مک شا۱ بیس۶۴(key: رشته، msg: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: crypto-Hmac.salam