Fungsi Enkripsi & Dekripsi
MySQL menyediakan beberapa fungsi untuk mengenkripsi dan mendekripsi data, di antaranya:
- AES_ENCRYPT() dan AES_DECRYPT() – Fungsi ini digunakan untuk mengenkripsi dan mendekripsi data menggunakan algoritma AES. Contoh penggunaannya:
-- Enkripsi data SELECT AES_ENCRYPT('s3ns1t1f', 'k3y') AS encrypted_data; -- Dekripsi data SELECT AES_DECRYPT(AES_ENCRYPT('s3ns1t1f', 'k3y'), 'k3y') AS decrypted_data;
- DES_ENCRYPT() dan DES_DECRYPT() – Fungsi untuk enkripsi menggunakan standar DES.
- ENCRYPT() – Fungsi enkripsi standar yang digunakan untuk membuat hash dari sebuah string.
- PASSWORD() – Menghasilkan hash password MySQL dari string input, biasanya untuk keperluan autentikasi.
Fungsi Encoding & Decoding
Selain enkripsi, MySQL juga menyediakan fungsi untuk encoding dan decoding data. Contoh penggunaannya dengan fungsi ENCODE() dan DECODE() adalah sebagai berikut:
-- Encoding data SELECT ENCODE('s3ns1t1f', 'k3y') AS encoded_data; -- Decoding data SELECT DECODE(ENCODE('s3ns1t1f', 'k3y'), 'k3y') AS decoded_data;
Fungsi Kompresi & Dekompresi
Untuk menghemat ruang penyimpanan, sobat juga dapat menggunakan fungsi COMPRESS() dan UNCOMPRESS() yang berguna untuk mengompresi dan mendekompresi data. Berikut contohnya:
-- Kompresi data SELECT COMPRESS('Ini adalah teks yang akan dikompresi') AS compressed_data; -- Dekompresi data SELECT UNCOMPRESS(COMPRESS('Ini adalah teks yang akan dikompresi')) AS decompressed_data;
Selain itu, fungsi UNCOMPRESSED_LENGTH() dapat mengembalikan panjang data setelah didekompresi:
SELECT UNCOMPRESSED_LENGTH(COMPRESS('Ini adalah teks yang akan dikompresi')) AS decompressed_length;
Fungsi Hashing
MySQL juga menyediakan beberapa fungsi hashing untuk menghasilkan nilai hash dari data yang diberikan. Fungsi-fungsi ini sangat berguna untuk keamanan data dan verifikasi integritas data. Berikut adalah contohnya:
- MD5() – Menghasilkan hash MD5 dari sebuah string.
SELECT MD5('Ini adalah teks yang akan di-hash') AS hashed_data;
- SHA1() – Menghasilkan hash SHA1 dari sebuah string.
SELECT SHA1('Ini adalah teks yang akan di-hash') AS hashed_data;
- SHA2() – Menghasilkan hash SHA2 dengan panjang bit yang ditentukan (misalnya 256 bit).
SELECT SHA2('Ini adalah teks yang akan di-hash', 256) AS hashed_data;
- OLD_PASSWORD() – Menghasilkan hash password lama MySQL untuk string input. Fungsi ini masih ada untuk kompatibilitas, meskipun sebaiknya menggunakan metode hash yang lebih modern.
SELECT OLD_PASSWORD('s3cr3t') AS hashed_password;
Semoga artikel ini bermanfaat dan bisa membantu sobat dalam mengoptimalkan keamanan dan performa database MySQL. Selamat mencoba dan semoga sukses!