Sobes.tech
Junior — Middle

Můžete uvést hashovací algoritmy používané k vytváření autentizačních tokenů?

sobes.tech AI

Odpověď od AI

Pro vytváření ověřovacích tokenů se často používají následující hashovací algoritmy:

  • HMAC (Hash-based Message Authentication Code):

    • Kombinace tajného klíče a hashovací funkce.
    • Často se používá s SHA-256 nebo SHA-1.
    • Příklad: HMAC-SHA256.
  • SHA-256:

    • Kryptografická hashovací funkce široce používaná k generování tokenů.
  • SHA-1:

    • Starší hashovací funkce, v současnosti méně doporučovaná kvůli zranitelnostem.
  • MD5:

    • Zastaralý algoritmus, nedoporučuje se pro bezpečnostní účely.

V C# se pro tvorbu ověřovacích tokenů obvykle používá HMAC se SHA-256, například pro JWT (JSON Web Tokens).

Příklad tvorby HMAC-SHA256:

using System.Security.Cryptography;
using System.Text;

string klíč = "tajný_klíč";
string zpráva = "data_pro_token";

using (var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(klíč)))
{
    byte[] hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(zpráva));
    string token = Convert.ToBase64String(hash);
    Console.WriteLine(token);
}

Pro bezpečné tokeny je vhodné používat HMAC s moderními hashovacími funkcemi, jako je SHA-256.