Rumah > Artikel > hujung hadapan web > Gunakan kanvas html5 untuk memecahkan kod pengesahan mudah dan dapatkan kemahiran tutorial antara muka ImageData application_html5
Sistem pengurusan akademik sekolah kami (nampaknya digunakan oleh lebih daripada sekadar sekolah kami), pelayan ranap tanpa penjelasan apabila melibatkan pemilihan kursus Kadang-kadang, untuk memilih kursus, saya perlu memasukkan kod pengesahan berulang kali. Apabila saya memikirkan beribu-ribu pelajar kolej membuang masa mereka selepas memasukkan kod pengesahan, saya merasakan bahawa saya mempunyai kewajipan untuk menyelamatkan manusia.
Setelah mencari, saya melihat artikel ini, yang ditulis 3 tahun lalu. Saya merujuk kepada separuh masa pertama dan menggunakan pemalam TamperMonkey untuk mencapai kesan yang diingini secara kasar. Anda boleh mendapatkan skrip ini di Userscript, ia juga tersedia di GitHub Kod itu hodoh, sila nyahpepijat, sila beri saya nasihat.
Mari bincangkan idea itu: Kanvas dalam HTML 5 mempunyai antara muka getImageData yang boleh digunakan untuk mendapatkan data piksel daripada imej kod pengesahan. Setiap piksel mempunyai empat nilai yang sepadan dengan r, g, b, dan a r, g, dan b ialah tiga warna merah, hijau dan biru, dan a ialah ketelusan.
Saya perhatikan bahawa kod pengesahan sistem pengurusan pendidikan ialah 5 digit, dan saiz fon kekal sama Walaupun terdapat gangguan di latar belakang, ia jelas sangat berbeza daripada warna fon, jadi saya gunakan yang sangat besar kaedah kasar: Kita tahu bahawa lebih terang warna, lebih besar nilai RGB, dan lebih gelap warna, lebih kecil nilai RGB. Jadi saya menilai setiap piksel Jika jumlah RGB kurang daripada 350 (nilai ini diukur), ia adalah piksel kepunyaan fon Untuk kemudahan pemerhatian, saya menetapkan nilai RGBnya kepada 255, jika tidak, ia ditetapkan kepada 0. Dengan cara ini, gambar dengan teks putih pada latar belakang hitam diperolehi.