Hašo generatorius

Iš teksto įvesties generuokite kriptografines šifravimo kodus (MD5, SHA-1, SHA-256, SHA-512). Puikiai tinka failų vientisumui tikrinti, kontrolinėms sumoms kurti arba unikaliems identifikatoriams iš teksto generuoti. Šis įrankis palaiko kelis šifravimo algoritmus, kad atitiktų skirtingus saugumo ir suderinamumo reikalavimus.

Dažnai užduodami klausimai

Hašas yra fiksuoto dydžio raidinė-skaitmeninė eilutė, sukuriama iš įvesties duomenų naudojant matematinį algoritmą. Šešėliai naudojami duomenų vientisumui tikrinti, slaptažodžiams saugiai saugoti, unikaliems identifikatoriams kurti ir užtikrinti, kad failai nebūtų pažeisti. Iš tų pačių įvesties duomenų visada gaunamas tas pats hash, tačiau šio proceso praktiškai neįmanoma pakeisti.

Šiuolaikinėms saugumo programoms naudokite SHA-256 arba SHA-512, nes šiuo metu jie laikomi kriptografiškai saugiais. MD5 ir SHA-1 turi žinomų pažeidžiamumų ir turėtų būti naudojami tik su saugumu nesusijusiems tikslams, pavyzdžiui, kontrolinėms sumoms arba senųjų sistemų suderinamumui. Slaptažodžiams saugoti verčiau naudokite specializuotus algoritmus, pavyzdžiui, bcrypt arba Argon2.

Tai yra skirtingi šifravimo algoritmai, kurių saugumo lygiai ir išvesties dydžiai skiriasi. MD5 sukuria 128 bitų slaptažodžius ir yra greitas, bet kriptografiškai pažeistas. SHA-1 sukuria 160 bitų slaptažodžius ir yra nebenaudojamas saugumo tikslais. SHA-256 sukuria 256 bitų hashes, o SHA-512 - 512 bitų hashes - abu šiuo metu yra saugūs. Ilgesni slaptažodžiai paprastai užtikrina geresnį saugumą, tačiau jiems reikia daugiau atminties.

Ne, kriptografiniai hešai yra vienpusės funkcijos, sukurtos taip, kad būtų negrįžtamos. Negalima matematiškai apversti hešo ir gauti pradinį įvesties kodą. Tačiau jei įvestis yra įprasta arba nuspėjama, ją galima rasti vaivorykštės lentelėse arba bandant ją nustatyti brutalia jėga. Štai kodėl svarbu į slaptažodžius prieš šifravimą pridėti druskos.

Atsisiųskite failą ir sugeneruokite jo hash, naudodami tą patį algoritmą, kurį naudojo paslaugų teikėjas (paprastai SHA-256). Palyginkite sugeneruotą hash su failo šaltinio pateiktu hash. Jei jie tiksliai sutampa, failas nepažeistas ir nebuvo pažeistas ar suklastotas. Net ir pakeitus vieną bitą faile, bus gautas visiškai kitoks hash.

Pats šifravimo procesas yra saugus ir atliekamas tik jūsų naršyklėje, nesiunčiant duomenų į mūsų serverius. Tačiau nepamirškite, kad vien tik šifravimas nėra šifravimas - užšifruotų verčių negalima iššifruoti. Slaptažodžių saugojimui visada naudokite papildomas saugumo priemones, pavyzdžiui, druskinimą, ir apsvarstykite galimybę naudoti specializuotas slaptažodžių šifravimo funkcijas.

Prieš atliekant druskinimą į slaptažodžius pridedami atsitiktiniai duomenys, kad kiekvieną kartą naudojant tą patį slaptažodį būtų gaunami skirtingi slaptažodžiai. Taip užkertamas kelias vaivorykštės lentelės atakoms ir apsunkinamas kelių slaptažodžių nulaužimas vienu metu. Kiekvienam slaptažodžiui visada naudokite unikalias druskas ir saugokite druską kartu su slaptažodžiu. Naudokite bcrypt, scrypt arba Argon2, kurie automatiškai atlieka druskų nustatymą.

Nors MD5 yra kriptografiškai pažeistas saugumo tikslais, jis vis dar priimtinas pagrindinėms failų vientisumo patikroms, kai nėra priešpriešos (pvz., tikrinant, ar atsisiuntimai nebuvo sugadinti). Tačiau kai kyla pavojus dėl klastojimo, naudokite SHA-256 arba SHA-512, nes įsilaužėliai gali sukurti kenkėjiškus failus su vienodomis MD5 hash.

Kriptovaliutose plačiai naudojami kriptografiniai hešai: Bitkoinas naudoja SHA-256, kad sukurtų nekintamas blokų nuorodas, generuotų adresus ir naudotų darbo įrodymui. Kiekviename bloke yra ankstesnio bloko hash, todėl sukuriama nenutraukiama grandinė. Bet koks klastojimas pakeičia hash, todėl visi vėlesni blokai tampa negaliojantys.

Hašingas yra vienpusis ir negrįžtamas - iš hašo negalima atgauti pirminių duomenų. Šifravimas yra dvipusis ir grįžtamasis - užšifruotus duomenis galima iššifruoti turint tinkamą raktą. Hašingą naudokite slaptažodžiams saugoti ir vientisumui tikrinti, o šifravimą - duomenims, kuriuos reikia perskaityti vėliau (pvz., saugomoms kredito kortelėms ar privatiems pranešimams), apsaugoti.