Search This Blog

Encrypt atau Enkripsi Data Password

Jika anda membuat aplikasi database multiuser anda harus menyimpan nama user dan password di tabel khusus untuk menampung data pengguna aplikasi. Agar data password tidak dapat dibaca dari tabel oleh user yang dapat mengakses isi tabel daftar user maka password harus dienkripsi (encrypted).

Pada posting kali ini saya akan memberikan tips cara meng-encrypt data password yang dibuat oleh user.

Ketika admin mengcreate user untuk login ke aplikasi, data password user dibuat oleh administrator. Selanjutnya masing-masing user dapat mengganti password mereka masing-masing. Salah satu cara untuk mengencrypt password adalah dengan mengganti karakter yang diketikkan oleh user sebelum disimpan ke tabel daftar user. Berikut adalah contoh script untuk mengubah karakter.
Public Function Encrypt(ByVal icText As String) As String
Dim icLen As Integer
Dim icNewText As String
Dim icChar As String
Dim i As Integer
icChar = ""
  icLen = Len(icText)
  For i = 1 To icLen
      icChar = Mid(icText, i, 1)
      Select Case Asc(icChar)
          Case 65 To 90
              icChar = Chr(Asc(icChar) + 127)
          Case 97 To 122
              icChar = Chr(Asc(icChar) + 121)
          Case 48 To 57
              icChar = Chr(Asc(icChar) + 196)
          Case 32
              icChar = Chr(32)
      End Select
      icNewText = icNewText + icChar
  Next
  Encrypt = icNewText
End Function
Pada saat user login ke aplikasi dengan mengisi password maka aplikasi harus meng-decrypt password dari tabel daftar user. Berikut adalah skript untuk mendecrypt password dari hasil poroses encrypt pada skript di atas.
Public Function Decrypt(ByVal icText As String) As String
Dim icLen As Integer
Dim icNewText As String
Dim icChar As String
Dim i As Integer
icChar = ""
  icLen = Len(icText)
  For i = 1 To icLen
      icChar = Mid(icText, i, 1)
      Select Case Asc(icChar)
          Case 192 To 217
              icChar = Chr(Asc(icChar) - 127)
          Case 218 To 243
              icChar = Chr(Asc(icChar) - 121)
          Case 244 To 253
              icChar = Chr(Asc(icChar) - 196)
          Case 32
              icChar = Chr(32)
      End Select
      icNewText = icNewText + icChar
  Next
  Decrypt = icNewText
End Function
Kedua fungsi di atas memerlukan satu buah parameter dengan tipe data string. Parameter ini adalah data password yang diisikan oleh user pada form access.

No comments: