新聞中心
在Linux操作系統(tǒng)中,.rnd文件是一種隨機(jī)數(shù)文件。它通常用于加密和SSL/TLS密鑰交換過程中生成隨機(jī)數(shù),并且在一些軟件應(yīng)用程序中也需要使用隨機(jī)數(shù),比如OpenSSL、GnuPG等。.rnd文件包含了一串隨機(jī)生成的字節(jié),通過非常高效的隨機(jī)數(shù)生成器生成。那么這個文件有什么作用及用途呢?

目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、迎澤網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1. 安全性
.rnd文件在Linux系統(tǒng)中扮演著非常重要的安全角色。我們都知道隨機(jī)性在密碼學(xué)中是非常重要的因素,因?yàn)閭坞S機(jī)數(shù)生成器生成的數(shù)字容易被預(yù)測,從而增加了攻擊者獲取加密信息的可能性。所以,為了確保SSL/TLS密鑰交換和其它安全應(yīng)用程序的加密能力,隨機(jī)數(shù)生成必須使用真正的隨機(jī)數(shù)。這樣,隨機(jī)數(shù)更能提升加密的安全性。因此,.rnd文件中存儲的隨機(jī)數(shù),是這些應(yīng)用程序在生成加密信息時所必需的。
2. 其它應(yīng)用程序的使用
除了在加密和SSL/TLS密鑰交換過程中使用外,.rnd文件還可以用于其它應(yīng)用程序中,這些應(yīng)用程序需要使用隨機(jī)數(shù)。比如,在Linux系統(tǒng)中,有一個叫GnuPG的應(yīng)用程序,它類似于Windows中的PGP。GnuPG可以創(chuàng)建和管理電子郵件和文檔的數(shù)字簽名和加密。在GnuPG中使用的加密算法也需要隨機(jī)數(shù)生成器,此時就需要使用.rnd文件。此外,OpenSSL是一個廣泛使用的密碼庫。在OpenSSL中也有需要使用隨機(jī)數(shù)的場景,此時會訪問.rnd文件,以確定它所需要的隨機(jī)數(shù)。因此,.rnd文件是很多應(yīng)用程序中必需的,可以說是一個重要的補(bǔ)充隨機(jī)數(shù)的存儲方式。
3. 超時錯誤的解決
此外,.rnd文件還可以用來解決超時錯誤。當(dāng)計(jì)算機(jī)生成隨機(jī)數(shù)時,如果生成為詢問式隨機(jī)數(shù),這個過程是交互式的,需要人來提供隨機(jī)種子。但在某些情況下,比如在運(yùn)行無人值守的系統(tǒng)中,可能無法及時提供隨機(jī)種子,導(dǎo)致隨機(jī)數(shù)生成失敗,產(chǎn)生錯誤。此時,我們可以通過使用.rnd文件保存一個靜態(tài)的隨機(jī)種子,以確保在需要生成隨機(jī)數(shù)時始終有可用的隨機(jī)種子。這樣,便可解決隨機(jī)數(shù)生成失敗的問題。
4. 常見的.rnd文件位置
在Linux系統(tǒng)中,有許多應(yīng)用程序和服務(wù)都會使用.rnd文件,因此,這個文件通常是在多個位置存儲的。下面是一些常見的.rnd文件位置:
/etc/ssl/private/: 在這個目錄下存儲的.rnd文件用于SSL/TLS密鑰交換。
/etc/ssl/: 該目錄下的.rnd文件也用于SSL/TLS密鑰交換。
/opt/cprocsp/in/: 一些Linux服務(wù)器使用GOST加密系統(tǒng),保存GOST的.rnd文件。
/opt/nfast/msi/: 對于高性能加密設(shè)備,會使用.nfusrnd文件。這是為了隨機(jī)數(shù)生成應(yīng)用程序提供更快的性能。
思路
.rnd文件在Linux系統(tǒng)中發(fā)揮著非常重要的作用,主要是為了提高各種加密和安全應(yīng)用程序的安全性和穩(wěn)定性。它是存儲隨機(jī)數(shù)的一項(xiàng)非常有效和方便的工具,使得隨機(jī)生成器生成的隨機(jī)數(shù)更加隨機(jī)和安全性更高。.rnd文件的存儲位置多種多樣,這取決于應(yīng)用程序所需隨機(jī)數(shù)的使用場景。在很多需要隨機(jī)數(shù)的應(yīng)用程序中,.rnd文件都是必須的。充分了解.rnd文件的用途,更有利于我們做好加密和安全性的保障。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
數(shù)據(jù)庫配置文件是哪個,路徑多少
一般分為windows和linux
windows通常放在安裝目錄下的 \MySQL\MySQL Server 5.0\my.ini
Linux 默認(rèn)是放在 /etc/my.cnf
以下是my.cnf
配置文件
參數(shù)解釋:
port = 3309
socket = /home/mysql/mysql/tmp/mysql.sock
!include /home/mysql/mysql/etc/mysqld.cnf #包含的配置文件 ,把
用戶名
,密碼文件單獨(dú)存放
port = 3309
socket = /home/mysql/mysql/tmp/mysql.sock
pid-file = /longxibendi/mysql/mysql/var/mysql.pid
basedir = /home/mysql/mysql/
datadir = /longxibendi/mysql/mysql/var/
# tmp dir settings
tmpdir = /home/mysql/mysql/tmp/
slave-load-tmpdir = /home/mysql/mysql/tmp/
#當(dāng)slave 執(zhí)行 load data infile 時用
#language = /home/mysql/mysql/share/mysql/english/
character-sets-dir = /home/mysql/mysql/share/mysql/charsets/
# skip options
skip-name-resolve #grant 時,必須使用ip不能使用主機(jī)名
skip-symbolic-links #不能使用連接文件
skip-external-locking #不使用系統(tǒng)鎖定,要使用myisamchk,必須關(guān)閉服務(wù)器
skip-slave-start #啟動mysql,不啟動復(fù)制
#sysdate-is-now
# res settings
back_log = 50 #接受隊(duì)列,對于沒建立tcp連接的橘鎮(zhèn)請求隊(duì)列放入緩存中,隊(duì)列大小為back_log,受限制與OS參數(shù)
max_connections = 1000 #更大并發(fā)連接數(shù) ,增大該值需要相應(yīng)增加允許打開的
文件描述符
數(shù)
max_connect_errors =#如果某個用戶發(fā)起的連接error超過該數(shù)值,則該用戶的下次連接將被阻塞,直到管理員執(zhí)行flush hosts ; 命令;防止黑客
#open_files_limit =
connect-timeout = 10 #連接超時之前的更大秒數(shù),在Linux平臺上,該超時也用作等待服務(wù)器首次回應(yīng)的時間
wait-timeout =#等待關(guān)閉連接的時間
interactive-timeout =#關(guān)閉連接之前,允許interactive_timeout(取代了wait_timeout)秒的不活動時間??蛻舳说臅抴ait_timeout變量被設(shè)為會話interactive_timeout變量的值。
slave-net-timeout = 600 #從服務(wù)器也能夠處理網(wǎng)絡(luò)連接中斷。但是,只有從服務(wù)器超過slave_net_timeout秒沒有從主服務(wù)器收到數(shù)據(jù)才通知網(wǎng)絡(luò)中斷
net_read_timeout = 30 #從服務(wù)器讀取信圓老粗息的超時
net_write_timeout = 60 #從服務(wù)器寫入信息的超時
net_retry_count = 10 #如果某個通信端口的讀操作中斷了,在放棄前重試多次
net_buffer_length =#包消息緩沖區(qū)初始化為net_buffer_length字節(jié),但需要時可以增長到max_allowed_packet字節(jié)
max_allowed_packet = 64M #
#table_cache = 512 #所有線程打開的
表
的數(shù)目。增大含虧該值可以增加mysqld需要的文件描述符的數(shù)量
thread_stack = 192K #每個線程的
堆棧
大小
thread_cache_size = 20 #線程緩存
thread_concurrency = 8 #同時運(yùn)行的線程的數(shù)據(jù) 此處更好為CPU個數(shù)兩倍。本機(jī)配置為CPU的個數(shù)
# qcache settings
query_cache_size = 256M #查詢緩存大小
query_cache_limit = 2M #不緩存查詢大于該值的結(jié)果
query_cache_min_res_unit = 2K #查詢緩存分配的最小塊大小
# default settings
# time zone
default-time-zone = system #服務(wù)器時區(qū)
character-set-server = utf8 #server級別
字符集
default-storage-engine = InnoDB #默認(rèn)存儲
# tmp & heap
tmp_table_size = 512M #臨時表大小,如果超過該值,則結(jié)果放到磁盤中
max_heap_table_size = 512M #該變量設(shè)置MEMORY (HEAP)表可以增長到的更大空間大小
log-bin = mysql-bin #這些路徑相對于datadir
log-bin-index = mysql-bin.index
relayrelay-log = relay-log
relayrelay_log_index = relay-log.index
# warning & error log
log-warnings = 1
log-error = /home/mysql/mysql/log/mysql.err
log_output = FILE #參數(shù)log_output指定了慢查詢輸出的格式,默認(rèn)為FILE,你可以將它設(shè)為TABLE,然后就可以查詢mysql架構(gòu)下的slow_log表了
# slow query log
slow_query_log = 1
long-query-time = 1 #慢查詢時間 超過1秒則為慢查詢
slow_query_log_file = /home/mysql/mysql/log/slow.log
#log-queries-not-using-indexes
#log-slow-slave-statements
general_log = 1
general_log_file = /home/mysql/mysql/log/mysql.log
max_binlog_size = 1G
max_relay_log_size = 1G
# if use auto-ex, set to 0
relay-log-purge = 1 #當(dāng)不用中繼日志時,刪除他們。這個操作有SQL線程完成
# max binlog keeps days
expire_logs_days = 30 #超過30天的binlog刪除
binlog_cache_size = 1M #session級別
# replication
replicate-wild-ignore-table = mysql.% #復(fù)制時忽略數(shù)據(jù)庫及表
replicate-wild-ignore-table = test.% #復(fù)制時忽略數(shù)據(jù)庫及表
# slave_skip_errors=all
key_buffer_size = 256M #myisam索引buffer,只有key沒有data
sort_buffer_size = 2M #排序buffer大小;線程級別
read_buffer_size = 2M #以全表掃描(Sequential Scan)方式掃描數(shù)據(jù)的buffer大小 ;線程級別
join_buffer_size = 8M # join buffer 大小;線程級別
read_rnd_buffer_size = 8M #MyISAM以索引掃描(Random Scan)方式掃描數(shù)據(jù)的buffer大小 ;線程級別
bulk_insert_buffer_size = 64M #MyISAM 用在塊插入優(yōu)化中的樹緩沖區(qū)的大小。注釋:這是一個per thread的限制
myisam_sort_buffer_size = 64M #MyISAM 設(shè)置恢復(fù)表之時使用的緩沖區(qū)的尺寸,當(dāng)在REPAIR TABLE或用CREATE INDEX創(chuàng)建索引或ALTER TABLE過程中排序 MyISAM索引分配的緩沖區(qū)
myisam_max_sort_file_size = 10G #MyISAM 如果臨時文件會變得超過索引,不要使用
快速排序
索引方法來創(chuàng)建一個索引。注釋:這個參數(shù)以字節(jié)的形式給出.重建MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA INFILE過程中)時,允許MySQL使用的臨時文件的更大空間大小。如果文件的大小超過該值,則使用鍵值緩存創(chuàng)建索引,要慢得多。該值的單位為字節(jié)
myisam_repair_threads = 1 #如果該值大于1,在Repair by sorting過程中并行創(chuàng)建MyISAM表索引(每個索引在自己的線程內(nèi))
myisam_recover = 64K#允許的GROUP_CONCAT()函數(shù)結(jié)果的更大長度
transaction_isolation = REPEATABLE-READ
innodb_file_per_table
#innodb_status_file = 1
#innodb_open_files = 2023
innodb_additional_mem_pool_size = 100M #幀緩存的控制對象需要從此處申請緩存,所以該值與innodb_buffer_pool對應(yīng)
innodb_buffer_pool_size = 2G #包括數(shù)據(jù)頁、索引頁、插入緩存、鎖信息、自適應(yīng)
哈希
所以、
數(shù)據(jù)字典
信息
innodb_data_home_dir = /longxibendi/mysql/mysql/var/
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend #表空間
innodb_file_io_threads = 4 #io線程數(shù)
innodb_thread_concurrency = 16 #InnoDB試著在InnoDB內(nèi)保持操作系統(tǒng)線程的數(shù)量少于或等于這個參數(shù)給出的限制
innodb_flush_log_at_trx_commit = 1 #每次commit 日志緩存中的數(shù)據(jù)刷到磁盤中
innodb_log_buffer_size = 8M #事物日志緩存
innodb_log_file_size = 500M #事物日志大小
#innodb_log_file_size =100M
innodb_log_files_in_group = 2 #兩組事物日志
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日志組
innodb_max_dirty_pages_pct = 90 #innodb主線程刷新緩存池中的數(shù)據(jù),使臟數(shù)據(jù)比例小于90%
innodb_lock_wait_timeout = 50 #InnoDB事務(wù)在被回滾之前可以等待一個鎖定的超時秒數(shù)。InnoDB在它自己的 鎖定表中自動檢測事務(wù)死鎖并且回滾事務(wù)。InnoDB用LOCK TABLES語句注意到鎖定設(shè)置。默認(rèn)值是50秒
#innodb_flush_method = O_DSYNC
quick
max_allowed_packet = 64M
disable-auto-rehash #允許通過TAB鍵提示
default-character-set = utf8
linux共享內(nèi)存的控制釋放
調(diào)用 shmctl(Shared Memory Control,控制共享內(nèi)渣賀存)函數(shù)會返回一個共享內(nèi)存塊孫棗的相關(guān)信息。同時 shmctl 允許程序修改這些信息。該函數(shù)的之一個參數(shù)是一個共享內(nèi)存塊標(biāo)識。
要獲取一個共享內(nèi)存塊的相關(guān)信息,則為該函數(shù)傳遞 IPC_STAT 作為第二個參數(shù),同時傳遞一個指向一個 struct shmid_ds 對象的指針作為第三個參數(shù)。
要刪除一個共享內(nèi)存塊,則應(yīng)將 IPC_RMID 作為第二個參數(shù),而將 NULL 作為第三個參數(shù)。當(dāng)最后一個綁定該共享內(nèi)存塊的進(jìn)程與其脫離時,該共享內(nèi)存塊將被刪除。
您應(yīng)當(dāng)在結(jié)束使用每個共享內(nèi)存塊的時候都使用 shmctl 進(jìn)行釋放,以防止超過系統(tǒng)所允許的共享內(nèi)存塊的總數(shù)限制。調(diào)用 exit 和 exec 會使進(jìn)程脫離共享內(nèi)存塊,但不會刪除這個內(nèi)存塊。 要查看其它有關(guān)共享內(nèi)存塊的操作的描述如凱派,請參考shmctl函數(shù)的手冊頁。
要讓一個進(jìn)程獲取對一塊共享內(nèi)存的訪問,這個進(jìn)程必磨孫須先調(diào)用 shmat(SHared Memory Attach,綁定到共享內(nèi)存)。
將 shmget 返回的共享內(nèi)存標(biāo)識符 SHMID 傳遞給這個函數(shù)作為之一個參數(shù)。
該函數(shù)的第二個參數(shù)是一個指針,指向希望用于映射該共享內(nèi)存塊的進(jìn)程內(nèi)存地址;
如果指定NULL則Linux會自動選擇一個合適的地址用于映射。
第三個參數(shù)是一個標(biāo)志位,包含了以下選項(xiàng):
SHM_RND表示第二個參數(shù)指定的地址應(yīng)被向下靠攏到內(nèi)存頁面大小的整數(shù)倍。
如果不指定這個標(biāo)志,將不得不在調(diào)用shmat的時候手工將共享內(nèi)存塊的大小按頁面大小對齊。
SHM_RDON表示這個內(nèi)存塊將僅允許讀取操作而禁止寫入。
如果這個函數(shù)調(diào)用成功則會返回綁定的共享內(nèi)存塊對應(yīng)的地址。
通過 fork 函數(shù)創(chuàng)建的子進(jìn)程同時繼承這些共享內(nèi)存塊;
如果需要,它們可以主動脫離這些共享內(nèi)存塊。
當(dāng)一個進(jìn)程不再使用一個共享內(nèi)存塊的時候應(yīng)通過調(diào)用 shmdt(Shared Memory Detach,脫離共享內(nèi)存塊)函數(shù)與該共享內(nèi)存塊脫離。
將由 shmat 函數(shù)返回的地址傳遞給這個函數(shù)。
如果當(dāng)釋放這個內(nèi)存瞎侍鏈塊的進(jìn)程是最后一個使用該內(nèi)存塊的進(jìn)程,則這個內(nèi)存塊將被談旁刪除。
對 exit 或任何exec族函數(shù)的調(diào)用都會自動使進(jìn)程脫離共享內(nèi)存塊。
要生成圖片驗(yàn)證碼:哪里有下載這兩個文件head.fix和body.fix
1 圖象繪制完宴悶成陪神后,將文件存為24位位圖格式的BMP圖象文件。
2 去除前54Byte內(nèi)容.
3 改名為BODY+數(shù)字.FIX
4 修改CHECKCODE.ASP,調(diào)用你新做的這個文件.
body.fix,head.fix是什么文件?用什么打開?
就是生成彩色驗(yàn)證碼的文件
1、checkcode.ASP 負(fù)責(zé)生成和輸出驗(yàn)證碼 1309 byte。
2、head.fix 是54byte的BMP頭
3 、body.fix 數(shù)字0~9 10X100豎排的RGB陣列數(shù)據(jù)3200 byte
使用ASP生成圖片彩色校驗(yàn)碼
49行代碼,三個文件
Asp文件:Code.Asp
數(shù)據(jù)文件:body.Fix , Head.Fix
用法:
代碼解釋:
Response.buffer=true
NumCode
Function NumCode()
Response.Expires = -1
Response.AddHeader “Pragma”,”no-cache”
Response.AddHeader “cache-ctrol”,”no-cache”
dim zNum,i,j
dim Ados,Ados1
Randomize timer
生蘆祥虧成隨機(jī)四位數(shù)字:
zNum = cint(8999*Rnd+1000)
傳遞給session
Session(“GetCode”) = zNum
該for循環(huán)是將隨機(jī)數(shù)字放入一個下標(biāo)3的數(shù)組,便于提供給后面的陣列變換
dim zimg(3),NStr
NStr=cstr(zNum)
For i=0 to 3
zimg(i)=cint(mid(NStr,i+1,1))
Next
dim Pos
‘定義二個 ADODB.Stream binary對象,作圖像數(shù)據(jù)操作之用:
set Ados=Server.CreateObject(“Adodb.Stream”)
Ados.Mode=3
Ados.Type=1
Ados.Open
set Ados1=Server.CreateObject(“Adodb.Stream”)
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
‘載入0~9的數(shù)字?jǐn)?shù)據(jù)10×100的,Gbr的陣列數(shù)據(jù),每個320字節(jié),10個數(shù)字3200byte
‘BGR一個點(diǎn),10×10個點(diǎn)一個數(shù)字,一個點(diǎn)三個字節(jié)(二進(jìn)制8位,16進(jìn)制 00~FF)
‘一行10個點(diǎn) 30字節(jié) + 行結(jié)束標(biāo)記二字節(jié) 32字節(jié),所以一個10×100寬小于長的圖像每個數(shù)字10×10是320字節(jié)
‘長大于寬的則無行結(jié)束標(biāo)記 0000,直接是300字節(jié)
這些就是BMP 24bit的數(shù)據(jù)詳細(xì)信息了
‘至于頭部,也很簡單,包含長寬,圖像開始標(biāo)記等等~~才54字節(jié),遠(yuǎn)沒jpg什么的復(fù)雜
Ados.LoadFromFile(Server.mappath(“body.Fix”))
Ados1.write Ados.read(1280)
‘之一個for循環(huán),按生成的隨機(jī)數(shù)字順序從 10X100的數(shù)字陣列中提取出相應(yīng)的四個數(shù)字
但是豎排的數(shù)字陣列
for i=0 to 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
next
‘清空已經(jīng)用完的ADOS的數(shù)據(jù),調(diào)入替換新的圖像頭54字節(jié)的頭文件
Ados.LoadFromFile(Server.mappath(“head.fix”))
Pos=lenb(Ados.read())
Ados.Position=Pos ‘指定Pos位置,即可再偏移54字節(jié)的位置添加圖形數(shù)據(jù)
第二個for循環(huán),進(jìn)行數(shù)字的陣列變換,由豎排的塊轉(zhuǎn)換為橫排的數(shù)字塊
方法是隔320字節(jié)抽取4次30字節(jié)寫入ados對象,再抽取偏移第二行的圖像數(shù)據(jù)
30字節(jié)是因?yàn)閎mp 寬大于長時無00 00的行結(jié)束標(biāo)記
for i=0 to 9 step 1
for j=0 to 3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
next
next
Ados.Position=0
response.BinaryWrite直接向客戶端發(fā)送圖像數(shù)據(jù)
Response.ContentType = “image/BMP”
Response.BinaryWrite Ados.read()
Ados.Close:set Ados=nothing
Ados1.Close:set Ados1=nothing
End Function
數(shù)字和字母組合并生成圖片的驗(yàn)證碼祥解
大家經(jīng)常在網(wǎng)上登陸的時候經(jīng)常會看到讓你輸入驗(yàn)證碼,有的是文字的,有的呢是圖片,比如chinaren.com校友錄中留言的時候,我們就會看到數(shù)字圖片驗(yàn)證碼;網(wǎng)上關(guān)于數(shù)字文字驗(yàn)證碼實(shí)現(xiàn)方法的相關(guān)資料很多,而我們這里介紹的是數(shù)字和字母隨機(jī)組成的并且生成圖片的驗(yàn)證碼的實(shí)現(xiàn)方法??雌饋砗軓?fù)雜、其實(shí)很簡單的,大家跟著我往下看:
首先,我們先介紹一下設(shè)計(jì)思路,數(shù)字和字母的隨機(jī)組合生成驗(yàn)證碼,然后將驗(yàn)證碼生成圖片,這里“數(shù)字和字母的組合”應(yīng)該是隨機(jī)取出來的;如果是專門的數(shù)字驗(yàn)證碼,我們可以這樣實(shí)現(xiàn):
ycodenum=4 ‘驗(yàn)證碼的位數(shù),或者說成個數(shù)
for i=1 to ycodenum
Randomize ‘初始化隨機(jī)數(shù)發(fā)生器
ycode=ycode&Int((9*Rnd)) ‘rnd是隨機(jī)數(shù),從0到1之間的任意實(shí)數(shù),這里獲得0到9之間的整數(shù)
next
response.write ycode ‘就可以輸出數(shù)字驗(yàn)證碼(4位)
然而,我們要讓數(shù)字和字母同樣隨機(jī)生成,這里我們可以用到數(shù)組來實(shí)現(xiàn)這種效果,如下:
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” ‘將數(shù)字和大寫字母組成一個字符串
yc=split(char,”,”) ‘將字符串生成數(shù)組
ycodenum=4
for i=1 to ycodenum
Randomize
ycode=ycode&yc(Int((35*Rnd))) ‘?dāng)?shù)組一般從0開始讀取,所以這里為35*Rnd
next
response.write ycode
現(xiàn)在看看輸出結(jié)果是不是數(shù)字和字母隨機(jī)組合的呢?
下面看看怎樣生成圖片,這個也許有些朋友知道:asp不能生成圖片,必須使用asp組件。不錯,我們這里使用的是ASP圖象組件shotgraph。有一點(diǎn)大家注意,服務(wù)器不是自己的不能用哦,因?yàn)槟阊b不了這組件。
組件的下載地址:
,至于怎么注冊,這里就不多說了,網(wǎng)上有很多資料
我們看看生成圖片的代碼:
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” ‘將數(shù)字和大寫字母組成一個字符串
yc=split(char,”,”) ‘將字符串生成數(shù)組
ycodenum=4
for i=1 to ycodenum
Randomize
ycode=ycode&yc(Int((35*Rnd))) ‘?dāng)?shù)組一般從0開始讀取,所以這里為35*Rnd
next
Response.Clear
Response.ContentType=”image/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 “TRANSPARENT”
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)
針對以上代碼也就是說shotgraph普通的畫圖的原理請參考:
.rnd是什么文件 linux的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于.rnd是什么文件 linux,.rnd文件在Linux中的作用及用途,數(shù)據(jù)庫配置文件是哪個,路徑多少,linux共享內(nèi)存的控制釋放,要生成圖片驗(yàn)證碼:哪里有下載這兩個文件head.fix和body.fix的信息別忘了在本站進(jìn)行查找喔。
香港云服務(wù)器機(jī)房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!
新聞名稱:.rnd文件在Linux中的作用及用途(.rnd是什么文件linux)
分享路徑:http://m.5511xx.com/article/djhcopc.html


咨詢
建站咨詢
