Ada banyak artikel tentang kode verifikasi gambar Java baru -baru ini, membantu semua orang menguasai teknologi pembuatan kode verifikasi Java. Berikut ini adalah cara paling sederhana untuk menghasilkan kode verifikasi gambar java untuk referensi Anda.
Saat ini, semua industri akan mempertimbangkan pendaftaran mesin saat menyesuaikan sistem. Cara paling efektif sekarang adalah dengan masuk verifikasi. Ada banyak cara untuk memverifikasi sekarang:
1. Verifikasi masalah sebenarnya juga verifikasi gambar. Hasilkan pertanyaan pada gambar, dan kemudian masukkan kotak untuk memasukkan jawabannya.
2. Verifikasi gambar, masukkan informasi teks yang ditampilkan pada gambar.
3. Verifikasi SMS cukup rumit dan pengguna tidak terlalu menyukainya.
4. Ada juga metode verifikasi terbaru Baidu. Teks dihasilkan pada gambar, dan kotak klik teks muncul untuk memilih teks yang Anda lihat pada gambar verifikasi.
Sekarang mari kita bagikan kode untuk Java untuk menghasilkan kode verifikasi, yang merupakan kode dasar. Ini dapat digunakan secara langsung dalam pembelajaran. Jika Anda memerlukan verifikasi yang lebih kompleks, Anda dapat menambahkan verifikasi logis sendiri.
@ControllerPublic kelas imgverifyCode memperluas httpservlet { / ** * * / private static final long serialVersionuid = 1l; /*** Lebar gambar kode verifikasi. */ lebar int private = 70; /*** Ketinggian gambar kode verifikasi. */ Tinggi int privat = 30; / *** Jumlah karakter kode verifikasi*/ private int codecount = 5; / ** * xx */ private int xx = 0; / *** tinggi font*/ private int fontheight; / ** * codey */ private int codey; / ** * codesequence */ string [] codesequence = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "a", "b", "b", "c", "c" , "D", "d", "e", "e", "f", "f", "g", "z", "x", "q", "v"}; / *** Inisialisasi atribut gambar verifikasi*/ public void init () melempar servletException {// dapatkan informasi awal dari web.xml // lebar string strwidth = lebar+""; // string tinggi strheight = tinggi+""; // jumlah karakter string strcodecount = codecount+""; // Konversi informasi yang dikonfigurasi menjadi numerik coba {if (strwidth! = Null && strwidth.length ()! = 0) {width = integer.parseint (strwidth); } if (strheight! = null && strheight.length ()! = 0) {height = integer.parseint (strheight); } if (strcodecount! = null && strcodecount.length ()! = 0) {codecount = integer.parseint (strcodecount); }} catch (NumberFormateException e) {E.PrintStackTrace (); } xx = lebar / (codecount + 2); // Jarak horizontal menghasilkan angka acak fonTheight = tinggi - 12; // Tinggi numerik menghasilkan bilangan acak codey = tinggi - 8; // Jarak vertikal menghasilkan angka acak} gambar string yang dilindungi (httpservletrequest req, httpservletResponse resp) melempar servletException, ioException {init (); // Tentukan gambar buffer bufferedImage bufimg = new BufferedImage (lebar, tinggi, bufferedImage.type_int_rgb); Grafik2d gd = buffimg.creategraphics (); // Tentukan gambar buffer bufferedImage bufimg = new BufferedImage (lebar, tinggi, bufferedImage.type_int_rgb); Grafik2d gd = buffimg.creategraphics (); // Tentukan gambar buffer bufferedImage bufimg = new BufferedImage (lebar, tinggi, bufferedImage.type_int_rgb); Grafik2d gd = buffimg.creategraphics (); // Buat kelas generator bilangan acak acak acak = acak baru (); // Isi gambar sebagai GD.SetColor putih (Color.White); gd.fillrect (0, 0, lebar, tinggi); // Buat font, ukuran font harus ditentukan sesuai dengan ketinggian gambar. Font font = font baru ("fixedsys", font.plain, fontheight); // Atur font. gd.setfont (font); // Gambar perbatasan. GD.SetColor (Color.Black); gd.drawrect (0, 0, lebar - 1, tinggi - 1); // Secara acak menghasilkan 4 baris interferensi, membuat kode otentikasi pada gambar yang lebih kecil kemungkinannya terdeteksi oleh program lain. GD.SetColor (Color.Black); untuk (int i = 0; i <4; i ++) {int x = random.nextInt (lebar); int y = random.nextInt (tinggi); int xl = random.nextInt (12); int yl = random.nextInt (12); gd.drawline (x, y, x + xl, y + yl); } // RandomCode digunakan untuk menyimpan kode verifikasi yang dihasilkan secara acak sehingga pengguna dapat memverifikasi setelah masuk. StringBuffer RandomCode = New StringBuffer (); int red = 0, hijau = 0, biru = 0; // secara acak menghasilkan kode verifikasi dari nomor codecount. untuk (int i = 0; i <codecount; i ++) {// Dapatkan nomor kode verifikasi yang dihasilkan secara acak. String strrand = string.ValueOf (codesequence [random.nextInt (27)]); // menghasilkan komponen warna acak untuk membangun nilai warna, sehingga nilai warna dari setiap output digit akan berbeda. merah = acak.nextint (125); green = random.nextint (255); blue = random.nextInt (200); // Gunakan warna yang dihasilkan secara acak untuk menggambar kode verifikasi ke dalam gambar. gd.setColor (warna baru (merah, hijau, biru)); gd.drawstring (strrand, (i + 1) * xx, codey); // Gabungkan empat angka acak yang dihasilkan bersama -sama. acakcode.append (strrand); } // Simpan kode verifikasi empat digit ke dalam sesi. Httpsession sesi = req.getSession (); session.setAttribute ("validateCode", randomCode.toString ()); // cache gambar dilarang. resp.setheader ("pragma", "no-cache"); resp.setheader ("cache-control", "no-cache"); resp.setDateheader ("kedaluwarsa", 0); resp.setContentType ("gambar/jpeg"); // keluaran gambar ke aliran output servlet. ServETOutputStream sos = resp.getoutputStream (); Imageo.write (Buffimg, "JPEG", SOS); sos.close (); kembali nol; }}Kode ini adalah metode dasar untuk menghasilkan gambar verifikasi.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang. Anda juga dapat memeriksa artikel sebelumnya untuk studi mendalam.