Enkripsi / Dekripsi AES
Tempel teks dan passphrase untuk menjalankan enkripsi atau dekripsi AES cepat dengan cipher PHP OpenSSL yang dipilih. AES adalah block cipher simetris yang distandardisasi NIST dalam FIPS 197 dan dipakai di banyak sistem TLS, WPA2, VPN, serta enkripsi disk. Namun halaman ini adalah utilitas untuk teks berisiko rendah, bukan brankas rahasia yang diaudit. Untuk file sensitif atau rahasia jangka panjang, gunakan alat offline seperti age, GnuPG, atau 7-Zip.
Cara mengenkripsi teks dengan AES
-
1
Pilih cipher OpenSSL
Opsi saat ini mencakup varian CBC, CTR, dan GCM. CBC dan CTR tidak terautentikasi, dan tool ini tidak menyimpan atau memverifikasi tag autentikasi GCM.
-
2
Masukkan passphrase
Passphrase di-hash sekali dengan SHA-256 untuk membentuk kunci AES. Tidak ada PBKDF2, salt, Argon2, atau work factor, jadi gunakan passphrase panjang dan acak.
-
3
Tempel teks berisiko rendah
Ini adalah utilitas PHP OpenSSL sisi server. Jangan tempel kata sandi, kunci produksi, dokumen privat, atau rahasia yang tidak akan Anda kirim ke situs ini.
-
4
Salin hasil Base64
Enkripsi membuat IV acak, menaruhnya sebelum teks terenkripsi mentah, lalu mengodekan gabungan byte itu sebagai Base64. Dekripsi membutuhkan cipher dan passphrase yang sama.
Apa yang sebenarnya dihasilkan tool ini
Implementasi ini memakai PHP OpenSSL. Saat mengenkripsi, passphrase di-hash dengan SHA-256, IV acak dibuat sesuai panjang yang dibutuhkan cipher terpilih, teks dienkripsi, lalu hasilnya dikembalikan sebagai:
Base64(IV || teks terenkripsi)
Output tidak mencakup salt, parameter PBKDF2, HMAC, atau tag autentikasi GCM. Format ini tidak kompatibel dengan output Web Crypto, age, GnuPG, resep command-line OpenSSL, atau 7-Zip.
Opsi AES dalam konteks
AES memiliki ukuran blok tetap 128 bit (16 byte) dan ukuran kunci standar 128, 192, serta 256 bit. Perbedaan keamanan penting di sini bukan hanya ukuran kunci, tetapi apakah pesan terenkripsi diautentikasi.
| Opsi cipher | Yang perlu diketahui di tool ini |
|---|---|
| AES-128-CBC / AES-192-CBC / AES-256-CBC | Mode blok umum dengan IV acak dan padding PKCS#7. Perlu MAC terpisah seperti HMAC-SHA-256 untuk mendeteksi manipulasi. |
| AES-256-CTR | Mengubah AES menjadi mode mirip stream. Juga perlu autentikasi terpisah dan tidak boleh memakai ulang IV/counter yang sama dengan kunci yang sama. |
| AES-128-GCM / AES-256-GCM | GCM biasanya mode AEAD, tetapi hanya jika tag autentikasi disimpan dan diperiksa. Output tool ini tidak menyertakan tag itu, jadi jangan mengandalkannya untuk enkripsi terautentikasi. |
Pengingat keamanan
Panduan penyimpanan kriptografi OWASP merekomendasikan enkripsi terautentikasi bila memungkinkan, atau enkripsi plus MAC terpisah. Ingat hal ini saat memakai utilitas ini:
- Ini enkripsi simetris - passphrase yang sama dipakai untuk dekripsi. Bagikan lewat kanal berbeda dari teks terenkripsi.
- Passphrase lemah menjadi kunci lemah di sini - SHA-256 cepat dan tanpa salt, jadi penyerang dapat mencoba tebakan dengan cepat jika memiliki output.
- CBC dan CTR butuh autentikasi - tanpa HMAC atau MAC lain, penyerang bisa saja mengubah teks terenkripsi tanpa terdeteksi.
- Jangan gunakan ulang IV atau nonce dengan kunci yang sama - tool membuat IV acak baru saat enkripsi, tetapi data eksternal yang ditempel harus mengikuti aturan yang sama.
- Gunakan alat yang diaudit untuk rahasia sungguhan - age, GnuPG, dan 7-Zip menangani format file, metadata, dan autentikasi dengan lebih hati-hati.
Pertanyaan yang Sering Diajukan
Komponen saat ini meng-hash passphrase dengan SHA-256 dan memakai byte hasilnya sebagai material kunci untuk OpenSSL. Tool ini tidak memakai PBKDF2, salt, scrypt, atau Argon2, jadi passphrase pendek atau dipakai ulang berisiko.
Tidak. CBC dan CTR membutuhkan MAC terpisah seperti HMAC-SHA-256. Walaupun GCM biasanya menyediakan autentikasi AEAD, tool ini tidak menyimpan atau memverifikasi tag GCM di output Base64.
Di server situs ketika aksi server menjalankan PHP OpenSSL. Ini bukan tool Web Crypto yang hanya berjalan di browser, jadi jangan tempel rahasia bernilai tinggi, private key, atau dokumen sensitif.
Hasil Base64 berisi IV acak diikuti teks terenkripsi mentah. Padding CBC bisa menambah byte, dan Base64 membuat data biner sekitar sepertiga lebih besar. Format tersimpan tidak berisi salt atau tag autentikasi.
Tool ini hanya menangani teks dan sebaiknya dibatasi untuk potongan berisiko rendah. Untuk file atau rahasia penting, gunakan utilitas enkripsi offline yang diaudit seperti age, GnuPG, atau 7-Zip.
Alat Terkait
Identifikasi Enkripsi
Tempel teks rahasia atau hasil hash-nya; identifikator tersebut akan menunjukkan algoritma atau format enkoding yang kemungkinan digunakan, seperti MD5, SHA, bcrypt, AES, RSA, Base64, dan lainnya.
Generator MD5
Buat nilai hash MD5 dari teks atau file apa pun. Hasilnya berupa nilai 128 bit dalam format heksadesimal, dan dihitung sepenuhnya di peramban Anda.
Generator Hash
Buat hash MD5, SHA-1, SHA-256, SHA-384, SHA-512, dan CRC32 dari teks, dengan digest siap salin untuk checksum dan perbandingan.
Generator JWT
Buat JWT bertanda tangan dengan header kustom, klaim payload, metode penandatanganan HMAC atau RSA, batasan masa berlaku, serta pembatasan audiens untuk keperluan pengujian.
HMAC Generator
Hasilkan tanda tangan HMAC (SHA-256, SHA-384, SHA-512, SHA-1, MD5) dari pesan dan kunci rahasia untuk autentikasi API dan webhook.
Generator Hash MD5
Hitung nilai checksum MD5 dari teks dan file untuk verifikasi integritas. Hasilnya sesuai dengan output dari fungsi `md5sum` maupun perintah `openssl dgst -md5`.
Alat ini tersedia dalam bahasa lain
- Cifrado / Descifrado AES [ES]
- Szyfrowanie i odszyfrowywanie AES [PL]
- เข้ารหัส / ถอดรหัส AES [TH]
- AES暗号化 / 復号 [JA]
- Mã hóa / giải mã AES [VI]
- Criptografar / Descriptografar AES [PT]
- AES kryptera / dekryptera [SV]
- Chiffrement / Déchiffrement AES [FR]
- AES 암호화 / 복호화 [KO]
- تشفير / فك تشفير AES [AR]
- AES Verschlüsseln / Entschlüsseln [DE]
- AES versleutelen / ontsleutelen [NL]
- AES Encrypt / Decrypt [EN]
- AES Crittografia / Decrittografia [IT]
- Шифрование / расшифровка AES [RU]
- AES Şifrele / Şifre Çöz [TR]
- AES 加密 / 解密 [ZH]