注冊(cè) 登錄
Office中國(guó)論壇/Access中國(guó)論壇 返回首頁(yè)

ganlinlao的個(gè)人空間 http://m.mzhfr.cn/?230471 [收藏] [復(fù)制] [分享] [RSS]

日志

在FreeBasic中使用集合類(lèi)(泛型)(第七節(jié))——讀取配置文件和一些加密算法的封裝

已有 2689 次閱讀2015-5-22 16:14 |個(gè)人分類(lèi):FreeBasic| Freebasic

使用 mdMessageDigest ,你可以使用 MD5, SHA-1 and SHA-512 來(lái)獲得任何字符串或整個(gè)文件的加密值:
#Include Once "md/security/mdMessageDigest.bi"
Dim As String result
Dim As String text = "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern"
Dim As mdMessageDigest m = mdMessageDigest.getInstance("MD5") '"SHA-1" and "SHA-512" 使用方式類(lèi)似
m.update(text)
result = m.digest()
If UCase(result) = UCase("a3cca2b2aa1e3b5b3b5aad99a8529074") Then
    Print "Digest Test 1: 正確"
Else
    Print "Digest Test 1: 錯(cuò)誤"
EndIf

'or

Dim As mdMessageDigest m1 = mdMessageDigest.getInstance("MD5")
result = m1.createHash(text)
If UCase(result) = UCase("a3cca2b2aa1e3b5b3b5aad99a8529074") Then
    Print "Result Test 1: 正確"
Else
    Print "Result Test 1: 錯(cuò)誤"
EndIf

Sleep
本代碼必須在 FreeBASIC >= 0.91才能編譯通過(guò),因?yàn)?FreeBASIC之前的版本中 Hex()函數(shù)有bug.
注:因?yàn)镕reebasic的官方庫(kù)中,有許許多多的各種加解密算法的庫(kù),而且性能和c是相差無(wú)幾,所以應(yīng)該
更多是使用官方的庫(kù)。



讀取配置文件:
mdResourceBundle類(lèi)是讀取配置文件類(lèi), 您可以將它用于多種用途。比如加載配置文件或多國(guó)語(yǔ)言文件。

Dim As mdResourceBundle bundle = mdResourceBundle.getBundle("Important", "optional")
 
上一行代碼將創(chuàng)建一個(gè) bundle 對(duì)象,并讀取文件名是"Important_optional.properties"的文件. 如果 "optional"是空的,它將讀取文件名是 "Important.properties"的文件.  這個(gè)文件名也可以是包含路徑的文件名.
可能會(huì)常用于下面的形式:
- mdResourceBundle.getBundle("Language", "zh") - 來(lái)讀取 Language_zh.properties
- mdResourceBundle.getBundle("settings") - 讀取 settings.properties

配置文件內(nèi)容的格式 是"key=value"這樣的. "key" 可以是任何字符, 但key中不能包含 "="。 "value" 是直到行末的任何字符串。 Value也可以包含參數(shù)如 "{0}" ,這樣的占位符在運(yùn)行時(shí)會(huì)被設(shè)置好的參數(shù)替換掉。
Print bundle.containsKey("key")      'TRUE or FALSE
Print bundle.getString("key")          '將顯示key對(duì)應(yīng)的value
Print bundle.getString("key", "parameter") '     "parameter" 將 替換掉"{0}"
Print bundle.getString("key", array())
Print bundle.getString("key", "p0 p1 p2") '

評(píng)論 (0 個(gè)評(píng)論)

facelist doodle 涂鴉板

您需要登錄后才可以評(píng)論 登錄 | 注冊(cè)

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 03:07 , Processed in 0.062723 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部