如何实现注册时的确认码功能

怎么使用户注册后退时确认码也会自动更新
---------------------------------------------------------------

最好是加上gd,变通的办法是使用xbm图片格式。
很容易破解

 1   
 2setXBM(1234567890,0);   
 3  
 4function setXBM($num,$mode=0) {   
 5settype($num,"string");   
 6$mode = $mode?0xff:0x00;   
 7$int_width = strlen($num); //位数   
 8$count_width=8; //单个数字宽度   
 9$count_height=16; //高度   
10  
11$bitmap = array(   
120 => array(0xff, 0xff, 0xff, 0xc3, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xc3, 0xff, 0xff, 0xff),   
131 => array(0xff, 0xff, 0xff, 0xcf, 0xc7, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xff, 0xff, 0xff),   
142 => array(0xff, 0xff, 0xff, 0xc3, 0x99, 0x9f, 0x9f, 0xcf, 0xe7, 0xf3, 0xf9, 0xf9, 0x81, 0xff, 0xff, 0xff),   
153 => array(0xff, 0xff, 0xff, 0xc3, 0x99, 0x9f, 0x9f, 0xc7, 0x9f, 0x9f, 0x9f, 0x99, 0xc3, 0xff, 0xff, 0xff),   
164 => array(0xff, 0xff, 0xff, 0xcf, 0xcf, 0xc7, 0xc7, 0xcb, 0xcb, 0xcd, 0x81, 0xcf, 0x87, 0xff, 0xff, 0xff),   
175 => array(0xff, 0xff, 0xff, 0x81, 0xf9, 0xf9, 0xf9, 0xc1, 0x9f, 0x9f, 0x9f, 0x99, 0xc3, 0xff, 0xff, 0xff),   
186 => array(0xff, 0xff, 0xff, 0xc7, 0xf3, 0xf9, 0xf9, 0xc1, 0x99, 0x99, 0x99, 0x99, 0xc3, 0xff, 0xff, 0xff),   
197 => array(0xff, 0xff, 0xff, 0x81, 0x99, 0x9f, 0x9f, 0xcf, 0xcf, 0xe7, 0xe7, 0xf3, 0xf3, 0xff, 0xff, 0xff),   
208 => array(0xff, 0xff, 0xff, 0xc3, 0x99, 0x99, 0x99, 0xc3, 0x99, 0x99, 0x99, 0x99, 0xc3, 0xff, 0xff, 0xff),   
219 => array(0xff, 0xff, 0xff, 0xc3, 0x99, 0x99, 0x99, 0x99, 0x83, 0x9f, 0x9f, 0xcf, 0xe3, 0xff, 0xff, 0xff)   
22);   
23  
24echo "#define counter_width " .($count_width * $int_width)."\r\n";   
25echo "#define counter_height " .$count_height. "\r\n";   
26echo "static unsigned char counter_bits[] = {\r\n";   
27for($i=0; $i<$count_height; ++$i) {   
28for($j = 0; $j < $int_width; ++$j) {   
29printf("0x%2x, ",$bitmap[$num[$j]][$i]^$mode);   
30}   
31}   
32echo "\r\n};";   
33}   
Published At
Categories with Web编程
Tagged with
comments powered by Disqus