Welcome to Crypto Lab! A free online crypto toolkit for quick and secure cryptographic operations. Provides hash algorithms, symmetric/asymmetric encryption, and encoding/decoding tools for data processing and security testing. All computations are performed locally in your browser. We do not log or store your data.
Hash functions are one-way functions that take an input (or 'message') and produce a fixed-size string of characters, which is called a hash or message digest. Hash functions are designed to be deterministic (the same input always produces the same output), quick to compute, and irreversible (it's computationally infeasible to derive the original input from the hash value). They are used for data integrity verification, password storage, and digital signatures.
MD5 (Message Digest Algorithm 5) is a widely used hash function producing a 128-bit hash value. However, it's considered cryptographically broken for security purposes due to discovered vulnerabilities allowing collision attacks. It's still useful for non-security applications like data integrity checks where high security is not required.
Usage: Enter text in the input field and click 'Generate MD5' to compute its MD5 hash.
SHA (Secure Hash Algorithm) is a family of cryptographic hash functions. SHA-256 and SHA-512 are part of the SHA-2 family, producing 256-bit and 512-bit hash values respectively. SHA-3 is the latest standard in hash algorithms, offering different variants including SHA3-256 and SHA3-512. These algorithms are considered more secure than MD5 and SHA-1 and are widely used in security applications, including blockchain technologies, digital signatures, and data authentication.
Usage: Similar to MD5, input text and click the respective 'Generate' button to compute SHA-256, SHA-3, or SHA-512 hashes.
Symmetric encryption algorithms use the same key for both encryption and decryption. They are generally faster than asymmetric encryption methods and are suitable for encrypting large amounts of data. Key management is critical as the same key must be securely shared between sender and receiver.
AES (Advanced Encryption Standard) is a widely adopted symmetric block cipher algorithm. It's robust and efficient, used in various applications for securing data. This tool uses AES-256-CBC mode with PKCS7 padding for encryption and decryption.
Usage: Enter the text to encrypt/decrypt and a secret key. Use 'Encrypt' to encrypt the text and 'Decrypt' to decrypt. Ensure the same key is used for both operations.
Triple DES (3DES) is a symmetric-key block cipher derived from the Data Encryption Standard (DES). It applies the DES cipher algorithm three times to each data block to increase the key size and security. While it was once a standard, it's now considered legacy due to its lower efficiency and the availability of AES. It's not recommended for new systems but is still found in older applications.
Usage: Similar to AES, input text and a 24-character key for encryption and decryption. Note: Triple DES requires a 24-character key.
Asymmetric encryption, also known as public-key cryptography, uses a pair of keys: a public key for encryption and a private key for decryption. The public key can be freely distributed, while the private key must be kept secret. RSA (Rivest-Shamir-Adleman) is a widely used asymmetric encryption algorithm.
Usage: For encryption, input text and a public key. For decryption, input the encrypted text and the corresponding private key. Use 'Generate Key Pair' to create a new RSA public and private key pair. Keep the private key secure. Public key is used for encryption and can be shared.
HMAC (Hash-based Message Authentication Code) is used to verify both the data integrity and authentication of a message. It uses a cryptographic hash function in combination with a secret key. HMACs can be used to confirm that the message has not been altered in transit and that it comes from an authenticated sender.
This tool uses HMAC with SHA-256 as the hash function. It provides a secure way to authenticate messages.
Usage: Enter a message and a secret key. Click 'Generate HMAC' to compute the HMAC-SHA256 value. The same key must be used for verification by the receiver.
Encoding and decoding are processes to transform data from one format to another. Unlike encryption, encoding is not for security but for data representation or compatibility across different systems or protocols.
Base64 is a general-purpose encoding scheme that converts binary data into a text format, making it suitable for transmission over text-based mediums like email or embedding in HTML/XML. It's not encryption; it's simply a different way to represent data.
Usage: Input text to 'Encode' to Base64 or input Base64 encoded text in the output field and click 'Decode' to get the original text.
Hex encoding represents binary data in hexadecimal format. Each byte (8 bits) is converted into two hexadecimal characters (0-9, A-F). It's commonly used in computing and digital electronics to represent binary data in a human-readable format.
Usage: Enter text to 'Encode' to Hex or input Hex encoded text in the output field and click 'Decode' to get the original text.
URL encoding (Percent-encoding) is used to encode information in a Uniform Resource Identifier (URI) under certain circumstances where characters are not allowed in URIs. It replaces disallowed characters with a '%' followed by two hexadecimal digits.
Usage: Input text to 'Encode' for URL encoding or input URL encoded text in the output field and click 'Decode' to get the original text.
A random key generator is used to create cryptographically secure random keys. The security of many cryptographic algorithms depends on the randomness and secrecy of the keys used. This tool generates keys of specified bit lengths using cryptographically secure random number generators available in modern browsers.
Usage: Click 'Generate 128-bit Key' or 'Generate 256-bit Key' to create a random key of the desired length. These keys can be used for symmetric encryption algorithms like AES.