Membuat Password Generator di Kotlin - Inpows
Kotlin

Membuat Password Generator di Kotlin

Membuat Password Generator di Kotlin –  Pada artikel kali ini kita akan membahas bagaimana membuat password generator di Kotlin. Password generator yang akan dibuat memiliki kemampuan untuk menentukan apakah password yang dihasilkan terdapat huruf kecil yaitu “abcdefghijklmnopqrstuvwxyz“, huruf besar yaitu “ABCDEFGHIJKLMNOPQRSTUVWXYZ“, angka yaitu “0123456789“, karakter spesial yaitu “@#=+!£$%&?*()_-[]{}“, dan panjang tertentu seperti 17, 20 ataupun lainnya. Simak artikel berikut ini untuk membuat password generator di Kotlin.

Kode Kotlin – Password Generator Class

Berikut ini adalah kelas untuk membuat algoritma untuk menghasilkan string password yang dihasilkan secara acak.

import java.security.SecureRandom

class PasswordGenerator {

    companion object {
        const val letters : String = "abcdefghijklmnopqrstuvwxyz"
        const val uppercaseLetters : String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        const val numbers : String = "0123456789"
        const val special : String = "@#=+!£$%&?*()_-[]{}"
    }

    fun generatePassword(
        isWithLetters: Boolean,
        isWithUppercase: Boolean,
        isWithNumbers: Boolean,
        isWithSpecial: Boolean,
        length: Int
    ) : String {

        var generatedPassword = ""
        var idx = 0

        if(isWithLetters){
            generatedPassword += letters
        }

        if(isWithUppercase){
            generatedPassword += uppercaseLetters
        }

        if(isWithNumbers){
            generatedPassword += numbers
        }

        if(isWithSpecial){
            generatedPassword += special
        }

        val randomAlgorithm = SecureRandom.getInstance("SHA1PRNG")
        val sb = StringBuilder(length)

        while (idx < length) {
            val randomInt : Int = randomAlgorithm.nextInt(generatedPassword.length)
            sb.append(generatedPassword[randomInt])
            idx++
        }

        return sb.toString()
    }

}

Kode Kotlin – Password Generator Parameter Settings

Disini kita akan membuat tiga string acak dengan berbagai setting pada Password Generator.

Password Generator – Setting Value 1

Pada setting yang pertama, string yang dihasilkan akan terdiri dari huruf kecil, huruf besar, angka, karakter spesial, dan memiliki panjang 20. Kalian dapat melakukan inisialisasi kelas PasswordGenerator dengan parameter seperti dibawah ini.

val newPassword1 = passwordGenerator.generatePassword(
        isWithLetters = true,
        isWithUppercase = true,
        isWithNumbers = true,
        isWithSpecial = true,
        length = 20
    )

Password Generator – Setting value 2

Pada setting yang pertama, string yang dihasilkan akan terdiri dari huruf kecil, angka, dan memiliki panjang 25. Kalian dapat melakukan inisialisasi kelas PasswordGenerator dengan parameter seperti dibawah ini.

val newPassword2 = passwordGenerator.generatePassword(
        isWithLetters = true,
        isWithUppercase = false,
        isWithNumbers = true,
        isWithSpecial = false,
        length = 25
    )

Password Generator – Setting value 3

Pada setting yang pertama, string yang dihasilkan akan terdiri dari huruf besar, angka, dan memiliki panjang 15. Kalian dapat melakukan inisialisasi kelas PasswordGenerator dengan parameter seperti dibawah ini.

val newPassword3 = passwordGenerator.generatePassword(
        isWithLetters = false,
        isWithUppercase = true,
        isWithNumbers = true,
        isWithSpecial = false,
        length = 15
    )

Password Generator – Setting value 4

Pada setting yang pertama, string yang dihasilkan akan terdiri dari huruf besar, angka, dan memiliki panjang 30. Kalian dapat melakukan inisialisasi kelas PasswordGenerator dengan parameter seperti dibawah ini.

val newPassword4 = passwordGenerator.generatePassword(
        isWithLetters = false,
        isWithUppercase = true,
        isWithNumbers = true,
        isWithSpecial = false,
        length = 30
    )

Kode Kotlin – Main Function

Berikut ini adalah main function untuk menginisialisasi kelass PasswordGenerator dan menampilkan hasil string secara acak.

fun main() {

    val passwordGenerator = PasswordGenerator()

    val newPassword1 = passwordGenerator.generatePassword(
        isWithLetters = true,
        isWithUppercase = true,
        isWithNumbers = true,
        isWithSpecial = true,
        length = 20
    )
    val newPassword2 = passwordGenerator.generatePassword(
        isWithLetters = true,
        isWithUppercase = false,
        isWithNumbers = true,
        isWithSpecial = false,
        length = 25
    )
    val newPassword3 = passwordGenerator.generatePassword(
        isWithLetters = false,
        isWithUppercase = true,
        isWithNumbers = true,
        isWithSpecial = false,
        length = 15
    )

    val newPassword4 = passwordGenerator.generatePassword(
        isWithLetters = false,
        isWithUppercase = true,
        isWithNumbers = true,
        isWithSpecial = false,
        length = 30
    )

    println("Password Baru 1 : $newPassword1")
    println("Password Baru 2 : $newPassword2")
    println("Password Baru 3 : $newPassword3")
    println("Password Baru 4 : $newPassword4")
}

Hasil yang diperoleh (Output)

Ketika kamu menjalankan kode diatas, maka hasil yang diperoleh akan seperti gambar dibawah ini.

Membuat Password Generator di Kotlin - Inpows
Membuat Password Generator di Kotlin – Inpows

 

Temukan source code menarik lainnya hanya di Inpows.

Baca Juga

Membuat Pola Alphabet Bentuk Setengah Pyramid Menggunakan Kotlin

Membuat Email Validation pada Android Kotlin

Membuat Pola Bintang Setengah Piramid Menggunakan Kotlin

Membuat Email Validation dengan Regex di Kotlin