Dengan perkembangan berterusan teknologi Internet dan senario aplikasi, kod pengesahan telah menjadi salah satu teknologi keselamatan yang paling penting dalam sistem Internet semasa. Dalam aplikasi web yang dibangunkan menggunakan bahasa golang, bagaimana menggunakan kod pengesahan untuk memastikan keselamatan log masuk pengguna, pendaftaran dan operasi lain? Artikel ini akan memberikan panduan untuk menggunakan kod pengesahan golang untuk rujukan anda.
1. Pustaka kod pengesahan Golang
golang menyediakan banyak perpustakaan kod pengesahan pihak ketiga untuk membantu kami membangunkan fungsi kod pengesahan, antaranya yang lebih popular ialah:
Golang.org/x/image ialah perpustakaan pemprosesan imej yang disediakan secara rasmi oleh golang. Ia menyediakan pelbagai alat untuk memproses imej, termasuk kod pengesahan. Dalam pustaka ini, kita boleh menggunakan pustaka freetype untuk menjana kod pengesahan teks, atau menggunakan pustaka gif atau pustaka png untuk menjana kod pengesahan imej, dsb.
Github.com/dchest/captcha ialah perpustakaan kod pengesahan sumber terbuka yang menjana nombor berdasarkan bahasa go dan pemprosesan imej perpustakaan dan kod pengesahan surat. Pada masa yang sama, perpustakaan ini juga menyediakan pilihan kod pengesahan yang boleh disesuaikan, seperti panjang, fon, latar belakang, dsb.
Github.com/mojocn/base64Captcha ialah perpustakaan kod pengesahan yang dibangunkan berdasarkan bahasa go Ia akan dijana mengikut berbeza konfigurasi Jenis kod pengesahan yang berbeza, seperti nombor, huruf, bahasa Cina, dsb. Pada masa yang sama, perpustakaan juga menyokong pelbagai corak latar belakang kod pengesahan dan kesan gangguan, dan boleh mengembalikan imej kod pengesahan dalam pengekodan base64.
2. Hasilkan kod pengesahan golang
Di sini kami mengambil Github.com/mojocn/base64Captcha sebagai contoh untuk bercakap tentang cara menggunakan golang untuk menjana kod pengesahan.
Masukkan arahan berikut dalam terminal:
go get -u github.com/mojocn/base64Captcha
Kod sampel adalah seperti berikut:
config := captcha.ConfigCharacter{ Height: 60, Width: 240, Mode: captcha.CaptchaModeNumberAlphabet, ComplexOfNoiseText: captcha.CaptchaComplexLower, ComplexOfNoiseDot: captcha.CaptchaComplexLower, IsShowHollowLine: false, IsShowNoiseDot: true, IsShowNoiseText: true, IsShowSlimeLine: false, ChLen: 4, }
Dalam contoh ini, kami mencipta konfigurasi kod pengesahan bernama config, yang mengkonfigurasi ketinggian, lebar, warna dan garisan gangguan bagi kod pengesahan , bilangan aksara, dsb.
Kod untuk menjana kod pengesahan adalah seperti berikut:
id, b64s, err := captcha.Generate(base64Captcha.DriverString, config)
Di sini, kami menggunakan captcha.Generate()
Fungsi menjana kod pengesahan dan menyimpan keputusan dalam pembolehubah b64s.
Akhir sekali, kami mengembalikan id kod pengesahan dan rentetan b64s yang dikodkan base64 ke bahagian hadapan untuk paparan di bahagian hadapan.
3. Sahkan kod pengesahan golang
Selepas memasukkan kod pengesahan di bahagian hadapan, kami perlu mengesahkan kod pengesahan di bahagian belakang.
Kod sampel adalah seperti berikut:
// verifyCode 为前端提交的验证码值 // verifyID 为前端提交的验证码ID isCorrect := captcha.VerifyString(verifyID, verifyCode) if !isCorrect { // 验证码不正确 } else { // 验证码正确 }
Dalam contoh ini, kami menggunakan fungsi captcha.VerifyString()
untuk mengesahkan sama ada kod pengesahan yang diserahkan oleh bahagian hadapan adalah betul. Jika kod pengesahan adalah betul, ia mengembalikan benar, jika tidak ia mengembalikan palsu.
Ringkasan
Artikel ini terutamanya memperkenalkan cara golang menggunakan kod pengesahan untuk mengukuhkan keselamatan aplikasi web dan mengambil Github.com/mojocn/base64Captcha sebagai contoh untuk menerangkan cara menjana dan mengesahkan golang kod pengesahan. Semoga artikel ini dapat membantu pemula belajar golang.
Atas ialah kandungan terperinci Panduan menggunakan kod pengesahan golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!