亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
文字

加密類提供雙向數(shù)據(jù)加密。它使用加密類運(yùn)行所需的Mcrypt PHP擴(kuò)展進(jìn)行加密。

重要

這個(gè)庫(kù)已被DEPRECATED,只為保持向后兼容性。請(qǐng)使用新的加密庫(kù)。

  • 使用加密庫(kù)

    • 設(shè)置你的鑰匙

    • 消息長(zhǎng)度

    • 初始化類

  • 類參考

使用加密庫(kù)

設(shè)置你的鑰匙

密鑰是一條信息,其控制的密碼處理,并且允許將要被解碼的加密字符串。實(shí)際上,您選擇的密鑰將提供解密使用該密鑰加密的數(shù)據(jù)的唯一方法,因此您不僅必須仔細(xì)選擇密鑰,而且如果您打算將其用于持久性數(shù)據(jù),則絕對(duì)不能更改密鑰。

不用說(shuō),你應(yīng)該小心地保護(hù)你的鑰匙。如果有人能夠訪問(wèn)您的密鑰,數(shù)據(jù)將很容易解碼。如果你的服務(wù)器不完全在你的控制之下,那么確保關(guān)鍵的安全是不可能的,所以你可能需要仔細(xì)思考,然后將它用于需要高度安全性的任何事情,比如存儲(chǔ)信用卡號(hào)碼。

為了最大限度地利用加密算法,您的密鑰長(zhǎng)度應(yīng)為32個(gè)字符(256位)。關(guān)鍵字應(yīng)該像隨機(jī)字符串一樣,可以用數(shù)字和大寫和小寫字母進(jìn)行調(diào)整。你的鑰匙應(yīng)該不會(huì)是一個(gè)簡(jiǎn)單的文本字符串。為了加密安全,它需要盡可能隨機(jī)。

您的密鑰可以存儲(chǔ)在application / config / config.php中,或者您可以設(shè)計(jì)自己的存儲(chǔ)機(jī)制并在編碼/解碼時(shí)動(dòng)態(tài)傳遞密鑰。

要將你的密鑰保存到你的application / config / config.php中,打開(kāi)該文件并設(shè)置:

$config['encryption_key'] = "YOUR KEY";

消息長(zhǎng)度

知道加密函數(shù)產(chǎn)生的編碼信息將比原始信息長(zhǎng)2.6倍左右,這一點(diǎn)很重要。例如,如果加密字符串“我的超級(jí)秘密數(shù)據(jù)”(長(zhǎng)度為21個(gè)字符),則最終將得到一個(gè)大約55個(gè)字符的編碼字符串(我們說(shuō)“粗略”,因?yàn)榫幋a的字符串長(zhǎng)度以64為增量位集群,所以它不完全是線性的)。選擇數(shù)據(jù)存儲(chǔ)機(jī)制時(shí)請(qǐng)記住這些信息。例如,Cookie只能保存4K條信息。

初始化類

像CodeIgniter中的大多數(shù)其他類一樣,Encrypt類在您的控制器中使用以下$this->load->library()方法進(jìn)行初始化:

$this->load->library('encrypt');

加載后,加密庫(kù)對(duì)象將可用:

$this->encrypt

類參考

class CI_Encryptencode($string[, $key = ''])

參數(shù):

$ string(string) - 要加密$ key的數(shù)據(jù)(字符串) - 加密密鑰

返回:

加密的字符串

返回類型:

  • $ stringstring) - 要加密的數(shù)據(jù)

  • $ key字符串) - 加密密鑰

返回:加密的字符串
返回類型:字符串
執(zhí)行數(shù)據(jù)加密并將其作為字符串返回。例:

$msg = 'My secret message';  $encrypted_string = $this->encrypt->encode($msg);

如果您不想在配置文件中使用該密鑰,則可以選擇通過(guò)第二個(gè)參數(shù)傳遞加密密鑰:

$ msg ='我的秘密消息'; $ key ='super-secret-key'; $ encrypted_string = $ this-> encrypt-> encode($ msg,$ key);

decode($string[, $key = ''])

參數(shù):

$ string(string) - 解密$ key的字符串(string) - 加密密鑰

返回:

純文本字符串

返回類型:

  • $ stringstring) - 要解密的字符串

  • $ key字符串) - 加密密鑰

返回:純文本字符串
返回類型:字符串
解密一個(gè)編碼的字符串。例:

$encrypted_string = 'APANtByIGI1BpVXZTJgcsAG8GZl8pdwwa84';  $plaintext_string = $this->encrypt->decode($encrypted_string);

如果您不想在配置文件中使用該密鑰,則可以選擇通過(guò)第二個(gè)參數(shù)傳遞加密密鑰:

$ msg ='我的秘密消息'; $ key ='super-secret-key'; $ encrypted_string = $ this-> encrypt-> decode($ msg,$ key);

set_cipher($cipher)

參數(shù):

$ cipher(int) - 有效的PHP MCrypt密碼常量

返回:

CI_Encrypt實(shí)例(方法鏈接)

返回類型:

CI_Encrypt

  • $ cipherint) - 有效的PHP MCrypt密碼常量

Returns:  CI\_Encrypt instance (method chaining)
Return type:  CI\_Encrypt
Permits you to set an Mcrypt cipher. By default it uses `MCRYPT_RIJNDAEL_256`. Example:

$this->encrypt->set_cipher(MCRYPT_BLOWFISH);

請(qǐng)?jiān)L問(wèn)php.net獲取可用密碼列表。

如果您想手動(dòng)測(cè)試您的服務(wù)器是否支持MCrypt,則可以使用:

echo extension_loaded('mcrypt')?'是':'不';

set_mode($mode)

參數(shù):

$ mode(int) - 有效的PHP MCrypt模式常量

返回:

CI_Encrypt實(shí)例(方法鏈接)

返回類型:

CI_Encrypt

  • $ modeint) - 有效的PHP MCrypt模式常量

Returns:  CI\_Encrypt instance (method chaining)
Return type:  CI\_Encrypt
允許你設(shè)置Mcrypt模式。默認(rèn)情況下,它使用** MCRYPT \ _MODE \ _CBC **。例:

$this->encrypt->set_mode(MCRYPT_MODE_CFB);

請(qǐng)?jiān)L問(wèn)php.net獲取可用模式列表。

encode_from_legacy($string[, $legacy_mode = MCRYPT_MODE_ECB[, $key = '']])

參數(shù):

$ string(string) - 用于加密$ legacy_mode(int)的字符串 - 有效的PHP MCrypt密碼常量$ key(字符串) - 加密密鑰

返回:

新加密的字符串

返回類型:

  • $ stringstring) - 要加密的字符串

  • $ legacy_modeint) - 有效的PHP MCrypt密碼常量

  • $ key字符串) - 加密密鑰

返回:新加密的字符串
返回類型:字符串
使您能夠重新編碼最初使用CodeIgniter 1.x加密的數(shù)據(jù),以便與CodeIgniter 2.x中的加密庫(kù)兼容。如果您已永久存儲(chǔ)加密的數(shù)據(jù)(如文件或數(shù)據(jù)庫(kù))并位于支持Mcrypt的服務(wù)器上,則只需要使用此方法。“輕”使用加密,如加密的會(huì)話數(shù)據(jù)或暫時(shí)加密的flashdata不需要您的干預(yù)。但是,現(xiàn)有的加密會(huì)話將被破壞,因?yàn)樵?.x之前加密的數(shù)據(jù)將不會(huì)被解碼。

重要

為什么只有一種方法對(duì)數(shù)據(jù)進(jìn)行重新編碼,而不是維護(hù)編碼和解碼的傳統(tǒng)方法?為了提高性能和安全性,Encrypt庫(kù)中的算法在CodeIgniter 2.x中得到了改進(jìn),我們不希望繼續(xù)使用舊方法。如果您愿意,您當(dāng)然可以擴(kuò)展加密庫(kù),并將新方法替換為舊的方法,并保持與CodeIgniter 1.x加密數(shù)據(jù)的無(wú)縫兼容性,但這是決定開(kāi)發(fā)人員應(yīng)謹(jǐn)慎謹(jǐn)慎地做出的決定。

$ new_data = $ this-> encrypt-> encode_from_legacy($ old_encrypted_string);

參數(shù)默認(rèn)描述** $ orig \ _data ** n / a來(lái)自CodeIgniter 1.x的加密庫(kù)的原始加密數(shù)據(jù)** $ legacy \ _mode ** MCRYPT \ _MODE \ _ECB用于生成原始加密數(shù)據(jù)的Mcrypt模式。CodeIgniter 1.x的默認(rèn)值是MCRYPT \ _MODE \ _ECB,并且假定情況是這樣,除非被這個(gè)參數(shù)覆蓋。** $密鑰**不適用加密密鑰。如上所述,它通常在配置文件中指定。
上一篇: 下一篇: