Lewati ke konten utama

Enkripsi/Dekripsi AES

Enkripsi atau dekripsi teks dengan AES-256-CBC. Berjalan sepenuhnya di sisi klien — sediakan kunci hex 64 karakter, dan alat ini menangani padding, IV, dan pengodean base64.

Input

Exactly 64 hexadecimal characters (32 bytes), used directly as the AES-256 key — e.g. generate one with any password manager's "hex" export, or run `openssl rand -hex 32`. The IV is derived from this key automatically, so encrypting different messages with the same key reuses the same IV; use a fresh key per sensitive message for stronger guarantees.

Output

Hasil
Apakah ini membantu?

Panduan

AES (Advanced Encryption Standard) adalah sandi kunci simetris yang digunakan hampir di mana-mana — HTTPS, enkripsi disk, pengelola kata sandi, VPN — karena cepat, telah dipelajari secara mendalam, dan, bila digunakan dengan benar, belum pernah ditembus. Alat ini mengenkripsi atau mendekripsi teks apa pun dengan AES-256 dalam mode CBC, sepenuhnya di browser Anda.

Cara menggunakannya

  1. Tempel teks yang ingin Anda enkripsi (atau, dalam mode Dekripsi, ciphertext base64 yang ingin didekripsi) ke Teks masukan.
  2. Masukkan Kunci Rahasia: tepat 64 karakter heksadesimal (32 bytes), digunakan langsung sebagai kunci AES-256. Buat satu dengan openssl rand -hex 32 di baris perintah, atau alat apa pun yang menghasilkan 32 byte acak dalam bentuk hex.
  3. Pilih Enkripsi atau Dekripsi.
  4. Hasilnya muncul di Hasil — salin atau unduh.

Untuk mendekripsi sesuatu yang Anda enkripsi di sini, beralih ke mode Dekripsi, tempel output base64 kembali ke Teks masukan, dan gunakan kunci yang sama.

Format kunci dan IV

  • Kunci: 64 karakter hex = 32 bytes = kunci AES 256-bit. Apa pun yang lebih pendek, lebih panjang, atau non-hex ditolak sebelum diproses.
  • IV (initialization vector / vektor inisialisasi): mode CBC memerlukan IV 16-byte untuk setiap enkripsi. Alih-alih meminta Anda mengelolanya secara terpisah, alat ini menurunkannya secara deterministik dari kunci Anda (dengan mengenkripsi blok konstanta tetap menggunakan kunci tersebut) dan menambahkannya di awal ciphertext, sehingga dekripsi hanya membutuhkan kuncinya. Konsekuensinya: mengenkripsi dua pesan yang berbeda dengan kunci yang sama menghasilkan IV yang sama, yang dapat membocorkan apakah dua ciphertext berbagi prefiks plaintext yang sama. Untuk keamanan maksimal, gunakan kunci yang berbeda untuk setiap pesan sensitif, atau anggap ini sebagai alat pengacak teks serba guna, bukan pengganti pustaka enkripsi yang teruji dalam aplikasi yang kritis terhadap keamanan.
  • Format output: base64 — IV 16-byte diikuti ciphertext, dengan padding PKCS7 hingga kelipatan 16 byte.

FAQ

Apakah ini AES "asli"? Ya — ini implementasi dari awal algoritma FIPS-197 (S-box, jadwal kunci, MixColumns, lengkap), bukan pengganti yang disederhanakan. Selama pengembangan, hasilnya diperiksa silang dengan modul crypto bawaan Node.js pada perjalanan bolak-balik AES-128/192/256 CBC yang acak untuk mengonfirmasi kebenaran bit demi bit.

Mengapa saya tidak bisa memasukkan kata sandi, bukan kunci hex? Mengubah kata sandi menjadi kunci (KDF seperti PBKDF2) membutuhkan banyak iterasi untuk menahan serangan brute-force, yang lambat — dan alat ini berjalan secara sinkron sehingga bekerja secara identik di browser Anda dan melalui API. Menyediakan kunci mentah menghindari trade-off ini. Jika Anda membutuhkan enkripsi berbasis kata sandi, turunkan dulu kunci dari kata sandi Anda dengan KDF khusus, lalu tempel hasil hex-nya di sini.

Apa yang terjadi jika saya menggunakan kunci yang salah untuk mendekripsi? Anda akan mendapatkan pesan kesalahan yang dapat dibaca ("invalid padding" atau "not valid UTF-8") alih-alih teks sampah atau crash — alat ini selalu memberi tahu bahwa ada yang salah, bukan diam-diam mengembalikan omong kosong.

Apakah kunci atau teks saya dikirim ke mana pun? Tidak — semuanya berjalan di sisi klien di browser Anda; tidak ada yang ditransmisikan atau disimpan. Jika Anda memanggil alat ini melalui API, kunci dan teks Anda hanya diproses untuk permintaan tunggal itu dan tidak dicatat atau disimpan di sisi server.

aesencryptiondecryptionciphercryptographycbc

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/aes-encryption-decryption \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inputText": "Hello, World!",
    "key": "000102030405060708090a0b0c0d0e0f1011121314151617…",
    "mode": "encrypt"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `aes-encryption-decryption` tool (AES Encryption/Decryption) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Bagian dari alur kerja

Semua koleksi

Suka alat-alatnya? Hilangkan iklannya.

Satu kali pembayaran menghapus semua iklan dari akun Anda, selamanya. Tanpa langganan, tanpa pelacakan.