當前位置:首頁 » 操作系統 » c驗證碼識別源碼

c驗證碼識別源碼

發布時間: 2022-09-07 08:00:31

① 用c語言編寫驗證碼

個人覺得,提問者的難點應該是在隨機生成4個漢字,至於驗證什麼的應該不是問題。
4個漢字其實就是8個位元組,主要是得搞清楚漢字是擴展ascii嘛的取值范圍,然後用隨機函數生成這個范圍的值就OK了。

② 急求!1急求!!用c語言實現類似網頁驗證碼的演算法。拜託啦!!!

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

intisright()
{
inti,input,letter,flag=0;
intt[4],num,upper,lower;
chara,b,c,d;

//隨機數產生
srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
input=rand()%3;//驗證碼可能為:數字、大寫字母、小寫字母
if(input==0){num=rand()%10+48;printf("%c",num);t[i]=num;}//數字
letter=rand()%26;
if(input==1)//大寫字母
{upper=letter+65;printf("%c",upper);t[i]=upper;}
if(input==2)//小寫字母
{lower=letter+97;printf("%c",lower);t[i]=lower;}

}
printf(" ");
//for(i=0;i<4;i++)
//printf("%c",t[i]);
scanf("%c%c%c%c",&a,&b,&c,&d);//輸入驗證碼
if(a==t[0]&&b==t[1]&&c==t[2]&&d==t[3])
printf("驗證碼正確 ");//驗證碼匹配
else{printf("驗證碼錯誤 ");flag=1;}
returnflag;//錯誤則返回1,正確返回0
}

main()
{
intsum=0,i,error;
for(i=0;;i++)
{
error=isright();
sum=sum+error;//統計錯誤次數
if(sum==3){printf("輸入次數達上限! ");break;}//錯誤3次,程序結束
}

}

③ C語言識別驗證碼

用PHP或ASP應該可以識別,C語言網上的資料是少的可憐。換種思路就好了

④ c#, 網頁驗證碼, 漢字計算邏輯驗證碼源碼

定義a,b,c
隨機生成a,b
判斷a
>=b?c=1:c=-1
session["c"]=a+(b*c);
string
str=a.ToString()+(c>0?"加":"減")+b.ToString()+"=?";
然後把str畫出圖片
至於將字元串畫到圖像里
你自己去
網路吧

⑤ 如何用c語言實現驗證碼的校驗

什麼校驗方法?
CRC檢驗如下:

#include<stdio.h>

int binaryToDec(char *str)
{
unsigned n=0;
while(*str!='\0')
{
if(*str<'0'||*str>'9')return -1;
n=n*2+(*str-'0');
str++;
}
return n;
}

void printBinary(int n)
{
if(n>1)printBinary(n/2);
printf("%d",n%2);
}

void main()
{
unsigned n,m,CRC=0x1A8000,fD=0x100000;
char CRC16[32];

while(1)
{
printf("輸入16位校驗碼:");
gets(CRC16);
n=binaryToDec(CRC16);
if(n>65535)
printf("輸入值過長,請重新輸入\n");
else break;
}

n<<=5;//n左移5位
m=n;//m等於n
while(fD>0x20)
{
while( !(m&fD) && !(CRC&1) )//保證被除數第一位為1
{
CRC>>=1;//除數右移一位
fD>>=1;//被除數首位的標志位右移一位
}
m=m^CRC;//被除數與除數相異或
}
n+=m;//模二餘數相加

printf("輸出21位校驗碼:");
printBinary(n);
printf("\n");

getchar();
}

⑥ 我想實現一個簡單的驗證碼驗證,請問如何在javascript中使用EL表達式

把這個session的值讀到html裡面即可
比如:
var x=<c:out value="${驗證碼session名}" />;
然後再把x和用戶輸入的驗證碼比較
--------
問題是你這樣的做法完全忽視了驗證碼的本質,為什麼存在圖片驗證碼,而不是在html中顯示文字驗證碼呢?就是怕被別人獲取源代碼識別驗證碼,而識別圖片就要難一些。
因此你這樣的做法欠妥。

⑦ 如何利用python做簡單的驗證碼識別

1摘要

驗證碼是目前互聯網上非常常見也是非常重要的一個事物,充當著很多系統的防火牆功能,但是隨時OCR技術的發展,驗證碼暴露出來的安全問題也越來越嚴峻。本文介紹了一套字元驗證碼識別的完整流程,對於驗證碼安全和OCR識別技術都有一定的借鑒意義。

然後經過了一年的時間,筆者又研究和get到了一種更強大的基於CNN卷積神經網路的直接端到端的驗證識別技術(文章不是我的,然後我把源碼整理了下,介紹和源碼在這裡面):

基於python語言的tensorflow的『端到端』的字元型驗證碼識別源碼整理(github源碼分享)

2關鍵詞

關鍵詞:安全,字元圖片,驗證碼識別,OCR,Python,SVM,PIL

3免責聲明

本文研究所用素材來自於某舊Web框架的網站完全對外公開的公共圖片資源。

本文只做了該網站對外公開的公共圖片資源進行了爬取,並未越權做任何多餘操作。

本文在書寫相關報告的時候已經隱去漏洞網站的身份信息。

本文作者已經通知網站相關人員此系統漏洞,並積極向新系統轉移。

本報告的主要目的也僅是用於OCR交流學習和引起大家對驗證安全的警覺。

4引言

關於驗證碼的非技術部分的介紹,可以參考以前寫的一篇科普類的文章:

互聯網安全防火牆(1)--網路驗證碼的科普

裡面對驗證碼的種類,使用場景,作用,主要的識別技術等等進行了講解,然而並沒有涉及到任何技術內容。本章內容則作為它的技術補充來給出相應的識別的解決方案,讓讀者對驗證碼的功能及安全性問題有更深刻的認識。

5基本工具

要達到本文的目的,只需要簡單的編程知識即可,因為現在的機器學習領域的蓬勃發展,已經有很多封裝好的開源解決方案來進行機器學習。普通程序員已經不需要了解復雜的數學原理,即可以實現對這些工具的應用了。

主要開發環境:

  • python3.5

  • python SDK版本

  • PIL

  • 圖片處理庫

  • libsvm

  • 開源的svm機器學習庫

  • 關於環境的安裝,不是本文的重點,故略去。

    6基本流程

    一般情況下,對於字元型驗證碼的識別流程如下:

  • 准備原始圖片素材

  • 圖片預處理

  • 圖片字元切割

  • 圖片尺寸歸一化

  • 圖片字元標記

  • 字元圖片特徵提取

  • 生成特徵和標記對應的訓練數據集

  • 訓練特徵標記數據生成識別模型

  • 使用識別模型預測新的未知圖片集

  • 達到根據「圖片」就能返回識別正確的字元集的目標

  • 7素材准備

    7.1素材選擇

    由於本文是以初級的學習研究目的為主,要求「有代表性,但又不會太難」,所以就直接在網上找個比較有代表性的簡單的字元型驗證碼(感覺像在找漏洞一樣)。

    最後在一個比較舊的網站(估計是幾十年前的網站框架)找到了這個驗證碼圖片。

    原始圖:

  • def get_feature(img): """

  • 獲取指定圖片的特徵值,

  • 1. 按照每排的像素點,高度為10,則有10個維度,然後為6列,總共16個維度

  • :param img_path:

  • :return:一個維度為10(高度)的列表 """


  • width, height = img.size


  • pixel_cnt_list = []

  • height = 10 for y in range(height):

  • pix_cnt_x = 0 for x in range(width): if img.getpixel((x, y)) == 0: # 黑色點

  • pix_cnt_x += 1


  • pixel_cnt_list.append(pix_cnt_x) for x in range(width):

  • pix_cnt_y = 0 for y in range(height): if img.getpixel((x, y)) == 0: # 黑色點

  • pix_cnt_y += 1


  • pixel_cnt_list.append(pix_cnt_y) return pixel_cnt_list

  • 然後就將圖片素材特徵化,按照libSVM指定的格式生成一組帶特徵值和標記值的向量文

⑧ 請問C語言驗證碼代碼怎麼打

用strcmp函數比較兩個字元串,你上圖一個生成的字元串,另一個輸入的字元串,把這兩個傳遞到函數里,函數返回0就說明兩個字元串相等,輸入正確,反之輸入錯誤。(頭文件導入string.h)。

⑨ 怎樣實現輸入驗證碼呢要用C語言的

#include <stdio.h>
#include <string.h>
main()
{
char a[15],i=3;
do{
printf("Password:");
gets(a);
if(strcmp(a,"hello")==0) break;//這里請連到你的密碼文件或者是連接到資料庫驗證,這里是 hello
}while(--i);
if(i==0) printf("Input errer 3 num.System close!\n");
else
{
//這里寫入你密碼正確要執行的代碼
}
}

熱點內容
壓縮聽算音頻 發布:2025-05-12 10:58:12 瀏覽:800
資料庫系統報告 發布:2025-05-12 10:43:17 瀏覽:602
日產高配有哪些配置 發布:2025-05-12 10:32:16 瀏覽:475
大眾朗逸哪個配置值得入手 發布:2025-05-12 10:31:20 瀏覽:505
壓縮包的後綴 發布:2025-05-12 10:20:35 瀏覽:940
煙台招聘編程 發布:2025-05-12 10:04:21 瀏覽:53
sql查詢所有表名 發布:2025-05-12 10:01:28 瀏覽:664
用python編譯器的簡單代碼 發布:2025-05-12 09:48:40 瀏覽:358
香港多ip站群伺服器租用 發布:2025-05-12 09:33:16 瀏覽:895
kaliapk編譯 發布:2025-05-12 08:47:56 瀏覽:357