VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

加密解密求助!!!剛才忘關表情功能,現在重發一次問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
zzbdyx



註冊時間: 2004-02-04
文章: 37


第 1 樓

發表發表於: 星期六 九月 12, 2009 9:56 am    文章主題: 加密解密求助!!!剛才忘關表情功能,現在重發一次問題 引言回覆

我有一VFP字符串加密解密程序如下

PARA ming
msstr="&@#>?Dz*+_+(87"
IF MOD(LEN(ming),8)<>0
ming=ming+SPACE(8-MOD(LEN(ming),8))
ENDIF
DECLARE ms1[8],ms2[32],ms3[8]
FOR i=1 TO 8
ms1[i]=ASC(SUBSTR(msstr,i,1))
NEXT
k=1
FOR i=1 TO 8
FOR j=i+1 TO 8
ms2[k]=BITXOR(ms1[i],ms1[j])
k=k+1
NEXT
NEXT
FOR i=29 TO 32
ms2[i]=ms1[i-28]
NEXT
zaa=0
zaa=BITOR(zaa,ms1[1])
zaa=BITOR(zaa,BITLSHIFT(ms1[2],7))
zaa=BITOR(zaa,BITLSHIFT(ms1[3],13))
zaa=BITOR(zaa,BITLSHIFT(ms1[4],23))
k=LEN(ming)
k=INT(k/8)
l=0
FOR i=1 TO k
xx1=SUBSTR(ming,(i-1)*8+1,8)
FOR j=1 TO 8
ms3[j]=ASC(SUBSTR(xx1,j,1))
NEXT
FOR m=1 TO 3
IF l==29
l=0
ENDIF
zbb=BITRSHIFT(zaa ,l)
zbb=BITAND(zbb,3)
l=l+1
DO CASE
CASE zbb=0
FOR j=1 TO 8
ms3[j]=ms3[j]+128
ms3[j]=BITAND(ms3[j],255)
ms3[j]=BITXOR(ms3[j],ms2[j])
NEXT
CASE zbb=1
FOR j=1 TO 8
ms3[j]=ms3[j]+128
ms3[j]=BITAND(ms3[j],255)
ms3[j]=BITXOR(ms3[j],ms2[j+8])
NEXT
CASE zbb=2
FOR j=1 TO 8
ms3[j]=BITNOT(ms3[j])
ms3[j]=BITAND(ms3[j],255)
ms3[j]=BITXOR(ms3[j],ms2[j+16])
NEXT
CASE zbb=3
FOR j=1 TO 8
ms3[j]=BITNOT(ms3[j])
ms3[j]=BITAND(ms3[j],255)
ms3[j]=BITXOR(ms3[j],ms2[j+24])
NEXT
ENDCASE
NEXT
xx2=''
FOR j=1 TO 8
xx2=xx2+CHR(ms3[j])
NEXT
ming=STUFF(ming,(i-1)*8+1,8,xx2)
NEXT
ming=ALLTRIM(ming)
RETURN ming
*************************************************************
如果用VFP表存儲加密數據,解密時正常,但是當我把加密后的結果存儲在SQL中后,再讀取到VFP中進行解密得到的結果和加密前不相同,請問是何原因!!!
請高手指點!
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 2 樓

發表發表於: 星期一 九月 14, 2009 3:45 pm    文章主題: 引言回覆

可能是加密後的字串變成非目前使用的語系裡的文字,
你可將欄位型態改成2進位這類型的格式,
存看看是否可用.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作