KeyGenerator biasanya digunakan oleh Developer pemrograman untuk menandai software aplikasi yang telah dijual sesuai dengan nama / identitas pembeli / pemakai / client. KeyGenerator juga merupakan tanda kode registrasi software yang dapat membedakan antara pemakai 1 dan pemakai lainnya.
Berikut saya akan coba menjelaskan teknik pembuatan KeyGenerator dengan menggunakan class pada bahasa pemrograman Microsoft Visual Foxpro. Saya tertarik untuk menuliskan artikel ini mengingat kesulitan yang saya alami sendiri untuk membuat Keygenerator dengan mudah dan simple menggunakan Microsoft Visual Foxpro.
Langkah untuk membuatnya adalah sebagai berikut:
(1) Buatlah sebuah project baru (dalam hal ini sy beri nama vfpkeygen2012)
(2) Buatlah class baru dengan nama myfungsi yang berbasis custom. Kemudian pada bagian store in, ketikkan nama vfpkeygene2012. Klik tombol OK untuk menyimpan class tersebut, maka secara otomatis program akan menampilkan jendela Class Designer.
(3) Kemudian pilih menu Class dari menu utama Foxpro, dan klik submenu New method…
(4) pada jendela New Method tambahkan dua method dengan nama mtd_creategenerator (method untuk membuat keygeneartor) dan mtd_checkgenerator (method untuk menguji keygenerator). Kemudian klik tombol Close untuk menutup jendela New Method. Hasilnya pada jendela Properties vfpkeygen2012 akan terlihat dua method yang telah berhasil dibuat.
(5) kemudian masukkan code dibawah ini pada method myfungsi.mtd_creategenerator
LPARAMETERS tcSecretString #DEFINE VALID_CHARS "123456789ABCDEFGHJKLMNPQRTUVWXYZ" #DEFINE RANDOM_LOWER 1 #DEFINE RANDOM_UPPER 32 LOCAL lcGibberish, lnChar, lnCount, lcMD5, lcUserLisense lcGibberish = "" For lnCount = 1 To 8 lnChar = Int((RANDOM_UPPER - RANDOM_LOWER + 1) * RAND() + RANDOM_LOWER) lcGibberish = lcGibberish + Substr(VALID_CHARS, lnChar, 1) Next lcMD5 = STRCONV(hash(lcGibberish + tcSecretString, 5),15) lcUserLisense = lcGibberish For lnCount = 1 TO 16 lnChar = MOD(EVALUATE("0x" + Substr(lcMD5, (lnCount * 2) - 1, 2)), 32) lcUserLisense = lcUserLisense + Substr(VALID_CHARS, lnChar + 1, 1) ENDFOR RETURN (lcUserLisense) |
(6) Code dibawah ini pada method myfungsi.mtd_checkgenerator
LPARAMETERS tcEnteredLicense, tcSecretString #DEFINE VALID_CHARS "123456789ABCDEFGHJKLMNPQRTUVWXYZ" LOCAL lcGibberish, lcMD5, lcEnteredShouldBe, lnCount, lnChar, llReturn llReturn = .F. IF Len(tcEnteredLicense) = 24 lcGibberish = LEFT(tcEnteredLicense, 8) lcMD5 = STRCONV(hash(lcGibberish + tcSecretString, 5),15) lcEnteredShouldBe = lcGibberish FOR lnCount = 1 TO 16 lnChar = MOD(EVALUATE("0x" + SUBSTR(lcMD5, (lnCount * 2) - 1, 2)), 32) lcEnteredShouldBe = lcEnteredShouldBe + SUBSTR(VALID_CHARS, lnChar + 1, 1) NEXT llReturn = lcEnteredShouldBe = tcEnteredLicense ENDIF RETURN llReturn |
(7) Selanjutnya tutup dan simpanlah file class (vfpkeygen2012) yang telah kita buat.
(8) Berikutnya melakukan pengujian, ketikkan perintah berikut ini di jendela perintah (Window Command)
perintah untuk mengaktifkan library SET LIBRARY TO LOCFILE("vfpencryption.fll") perintah untuk mengaktifkan class SET CLASSLIB TO vfpkeygen2012 perintah membuat objekclass oapp=CREATEOBJECT("myfungsi") perintah untuk Membuat Key gen chasil=oapp.mtd_creategenerator("My_SeCr_et") perintah melihat hasil di screen ? chasil perintah untuk melakukan pengujian ? oapp.mtd_checkgenerator(chasil,"My_SeCr_et") jika mengembalikan nilai .T. berarti kode generator dapat diterima |
Yang membuat library ini power full kita dapat menentukan sendiri kode rahasia encrypsi.
selamat mencoba..
catatan: semua coding diambil dari http://www.sweetpotatosoftware.com
link: http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,34321a75-a1fc-4a0e-a9af-17a3c6916d90.aspx
saya hanya melakukan modifikasi dengan menggunakan Class Microsoft Visual Foxpro.
============================
Menyambung tulisan yang diatas..
============================
Sekarang, contoh kasusnya misalnya anda telah membuat sebuah program aplikasi Penggajian yang akan didistribusikan
ke PT. ABC lalu kode secret yang anda gunakan adalah kode serial aplikasi 20110311 dan anto2k sebagai kuncinya.
– Nama perusahaan yang akan diberikan serial key: PT. ABC
– kuncinya: “20110311ANTO2K”
maka coding yang digunakan untuk membuat key generatornya adalah:
cCompany="PT. ABC" cSerial="20110311" cauthor="ANTO2K" cSecretKey=alltrim(cCompany)+cSerial+cauthor cSerialNumber=oapp.mtd_creategenerator(cSecretKey) |
cSerialNumber tersebut kemudian disimpan dalam database, lalu pada saat program dijalan ada prosedur / coding
yang khusus melakukan pengujian serial number ini contohnya:
cUjiSerial=oapp.mtd_checkgenerator(cSerialNumber,cSecretKey) if cUjiSerial =messagebox("Serial Ok",64,"Informasi") *!* prosedur selanjutnya jika OK else =messagebox("Program ini belum diregistrasi",16,"Larangan") *!* prosedur selanjutnya jika tidak OK endif |
demikian smoga bermanfaat
ingin download source? klik disini
wew..
wew, om haris lama kagak nampil, tq jempolnya.
aryanto´s last blog post ..Ketika KARTINI itu pergi…
Izin download Min.
Oh ya.. saya sdh pernah beli buku pak Mimin. Vfp 6.0
Harjuna putra´s last blog post ..MEMBLOK FACEBOOK
@harjuna putra: monggo, silahkan dioprek2 dan dikembangkan. tq atas kepercayaannya.
You know that you inspired me a lot. I am waiting for the next articles! Take it easy!