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

[原創]字串加密的方法.
前往頁面 上一頁  1, 2
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
goto-dream



註冊時間: 2004-05-11
文章: 909


第 16 樓

發表發表於: 星期三 二月 24, 2010 11:41 am    文章主題: 引言回覆

garablefile ("TRADE-20100223-0000-001","123456789")

得到是空的

_________________
福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!

想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


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


第 17 樓

發表發表於: 星期三 二月 24, 2010 4:52 pm    文章主題: 引言回覆

mstr = "TRADE-20100223-0000-001"
mpassword = "123456789"
?
? '原字串=',mstr,'密碼=',mpassword
? '加密後=',garablestr(mstr,mpassword),' 加密後再還原到原字串=',garablestr(garablestr(mstr,mpassword),mpassword)

?
mstr = "如果是針對一個字串加密是用 garablestr(), 而是不是用 garablefile()"
? '原字串=',mstr,'密碼=',mpassword
? '加密後=',garablestr(mstr,mpassword),' 加密後再還原到原字串=',garablestr(garablestr(mstr,mpassword),mpassword)

?
mstr = "如果是針對整個檔案要加密不是用 garablestr(), 而是用 garablefile()"
? '原字串=',mstr,'密碼=',mpassword
? '加密後=',garablestr(mstr,mpassword),' 加密後再還原到原字串=',garablestr(garablestr(mstr,mpassword),mpassword)

?
mstr = "用中文加密會加問題嗎?"
mpassword = "許功蓋"
? '原字串=',mstr,'密碼=',mpassword
? '加密後=',garablestr(mstr,mpassword),' 加密後再還原到原字串=',garablestr(garablestr(mstr,mpassword),mpassword)

func garablestr
lpara mstr , mpassword
* 執行一次會加密, 再將加密的檔案來執行一次會解密
local i, mret, mpos
dime apassword[ len(mpassword)*2 ]
for i=1 to len(mpassword)
apassword[ i*2-1 ] = int(asc( subs( mpassword,i,1))/16)
apassword[ i*2 ] = asc( subs( mpassword,i,1)) - apassword[ i*2-1 ]*16
next

mret = ''
for i=1 to len( mstr )
mpos = mod( i , alen( apassword ) )+1
mret = mret + bytexor( subs( mstr, i,1) , apassword[ mpos ] )
next
return mret

**************
如果是針對整個檔案要加密可以利用 filetostr() 及 strtofile()
例:
func garablefile
lpara mfile, mpassword
local mstr
mstr = garablestr( filetostr( mfile) , mpassword )
return strtofile( mstr , mfile )

**************************
func bytexor &&--可用於加密
lpara mbyte, mbit
* 例: ? bytexor('A', 15 ) &&-- show chr(190)
* ? bytexor( chr(190) , 15 ) &&-- show 'A'
* mbyte = 一個英文字
* mbit = 一個16進位的數字 0 到 15
local mbit1,mbit2
mbit1 = int( asc( mbyte )/16)
mbit2 = asc( mbyte ) - mbit1*16
*? mbit1,mbit2 , chr( mbit1*16+mbit2 )
return chr( bitxor( mbit1, mbit ) * 16 + bitxor( mbit2,mbit ) )

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
goto-dream



註冊時間: 2004-05-11
文章: 909


第 18 樓

發表發表於: 星期五 二月 26, 2010 3:50 pm    文章主題: 引言回覆

garfield大.不好意思.我暫先用myDLL解決這部分!!
謝謝你的幫忙

_________________
福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!

想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4252
來自: Taipei,Taiwan

第 19 樓

發表發表於: 星期五 二月 26, 2010 5:10 pm    文章主題: 引言回覆

字串加密,不就是:


字串變數 = 字串變數+'密'

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 20 樓

發表發表於: 星期五 二月 26, 2010 5:11 pm    文章主題: 引言回覆

=.=
感謝syntech大大體諒今天天氣太熱
提供超級冰庫給大家解熱
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
goto-dream



註冊時間: 2004-05-11
文章: 909


第 21 樓

發表發表於: 星期五 六月 25, 2010 4:03 pm    文章主題: 引言回覆

再一次 測試之後.發覺是我的問題...

garfield 正確

_________________
福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!

想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2
2頁(共2頁)

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


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