オンラインでログインすると、多くの場合、入力を求める確認コードが表示されますが、その一部はテキストであり、一部は写真です。たとえば、chinaren.com 同窓会ディレクトリにメッセージを残すと、デジタル画像検証コードを参照; オンラインについて デジタル テキスト検証コードの実装方法については多くの情報がありますが、ここで紹介するのは、ランダムに数字と文字で構成される検証コードを実装し、画像を生成する方法です。複雑そうに見えますが、実際は非常に簡単です。
まず、数字と文字のランダムな組み合わせで認証コードを生成し、その「数字と文字の組み合わせ」が特殊な場合はランダムに取り出します。デジタル検証コード、これは次のようにして実現できます。
ycodenum=4 '確認コードの桁数、または数値
i=1 から ycodenum まで
Randomize '乱数発生器を初期化します
ycode=ycode&Int((9*Rnd)) 'rnd は乱数で、0 から 1 までの実数です。ここでは 0 から 9 までの整数を取得します。
次
response.write ycode 'デジタル認証コード(4桁)を出力します
ただし、数字と文字を同様にランダムに生成する必要があります。ここでは、次のように配列を使用してこの効果を実現します。
ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N ,O,P,Q,R,S,T,U,V,W,X,Y,Z" '数字と大文字を組み合わせて文字列を作成します
yc=split(char,",") '文字列を配列に生成します
ycodenum=4
i=1 から ycodenum まで
ランダム化
ycode=ycode&yc(Int((35*Rnd))) '配列は通常 0 から読み取りを開始するため、ここでは 35*Rnd になります
次
応答.ycode を書き込む
ここで、出力が数字と文字のランダムな組み合わせであるかどうかを見てみましょう。
画像を生成する方法を見てみましょう。これを知っている人もいるかもしれません。ASP では画像を生成できないため、ASP コンポーネントを使用する必要があります。はい、ここでは ASP 画像コンポーネントのショットグラフを使用しています。誰もが注意すべき点の 1 つは、このコンポーネントをインストールできないため、自分のサーバーでない場合はそのサーバーを使用できないことです。
コンポーネントのダウンロードアドレス: yc=split(char,",") '文字列を配列に生成します
ycodenum=4
i=1 から ycodenum まで
ランダム化
ycode=ycode&yc(Int((35*Rnd))) '配列は通常 0 から読み取りを開始するため、ここでは 35*Rnd になります
次
応答.クリア
Response.ContentType="画像/gif"
set obj=Server.CreateObject("shotgraph.image")
x=55 '画像の幅
y=26 '画像の高さ
obj.CreateImage x,y,8 '8 は 8 ビットの画像の色です
obj.SetColor 0,55,126,222
obj.SetColor 1,255,255,255
obj.CreatePen "PS_SOLID",1,0
obj.SetBgColor 0
obj.Rectangle 0,0,x-1,y-1
obj.SetBkMode "透明"
obj.CreateFont "Arial",136,18,1,False,False,False,False
obj.SetTextColor 1
obj.TextOut 5,4,ycode&" "
img=obj.GifImage(-1,1,"")
Response.BinaryWrite(img)
上記のコード、つまりショットグラフの通常描画の原理については、 http://www.pconline.com.cn/pcedu/empolder/wz/asp/10204/45207.htmlを参照してください。