Ide Membuat Random Password di MySQL

Dec 1, 2014   //   by ssi.stikom   //   Articles, Database, Programming  //  No Comments

Ketika kita mempunyai data karyawan atau mahasiswa, kemungkinan kita untuk melengkapi data tersebut dengan password. Lalu bagaimana caranya untuk memberikan password ke data tersebut? haruskah kita membuat satu per satu password? jawabannya tidak perlu. kita cukup memanfaatkan query didalam MySQL. Let’s check it out!

SELECT UPPER(SUBSTRING(MD5(RAND()) FROM 1 FOR 6)) AS password

Query diatas adalah cara kita mendapatkan 6 digit random string yang dapat kita gunakan sebagai password.

Logikanya seperti ini, kita memanfaat function RAND() untuk mendapatkan angka 0 sampai dengan 1 (misal hasil rand() adalah 0.8234122812965999). Kemudian kita generate angka tersebut kedalam MD5 sehingga hasilnya adalah 45d2321847c02898c72f334834f728f0. Tentu hasil dari MD5 tersebut terlalu panjang. Saatnya kita menentukan berapa digit karakter yang kita butuhkan. Kita bisa memanfaatkan function SUBTRING() untuk “memotong” string tersebut. Sebagai contoh kita membutuhkan 6 karakter sehingga kita mendapatkan hasil random string sebagai berikut: “45d232″. Untuk “mempercantik” string yang kita dapatkan, kita bisa menambahkan function UPPER(). Function ini digunakan untuk mengubah tiap-tiap string menjadi kapital.

hasil akhir dari query diatas adalah: “45D232″. Itu adalah ahsil string baru yang dapat kita gunakan sebagai password

Lalu bagaimana cara mengaplikasikan query tersebut untuk bisa memberikan password random ke setiap data karyawan atau mahasiswa. Ok, kita asumsikan bahwa kita akan mengpdate seluruh data password di dalam table “student”.

UPDATE student
SET password=UPPER(SUBSTRING(MD5(RAND()) FROM 1 FOR 6))

Demikianlah ide untuk membuat random password di dalam MySQL. Thank you for attention.

Leave a comment