Text hash (MD5 / SHA-1 / SHA-256)
Real MD5, SHA-1 and SHA-256 hex digests computed in plain JS over UTF-8 input. Fixed vectors are checked against both node:crypto and literal strings in tests; browsers and Node share the same code.
Inputs and parameters
input— Text to hash (UTF-8)algorithm— Algorithm
Real example
algorithm=sha256, input=abc
→ ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad (md5=900150983cd24fb0d6963f7d28e17f72; empty sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)
Limits and failure handling
String input only: no file chunking, HMAC, salting or password KDF; no WebCrypto (plain JS, not browser-verified). MD5/SHA-1 are for legacy compatibility checks only. Input cap 1 MiB; large inputs are not offloaded to a Worker this round.
FAQ
Can I use it for passwords?
No. These are fast general-purpose digests, not password KDFs; MD5/SHA-1 are collision-prone. Use Argon2/bcrypt/scrypt with salts on the server.
How are Chinese and emoji handled?
Always UTF-8 bytes; e.g. sha256("你好 🚀") = 8ac2455b3ecb54ac6ba1ecec447ec766a5ba4e88506f179e5f63383cc28b3616.