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

directory search
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
characters

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

重要

這個庫已被DEPRECATED,只為保持向后兼容性。請使用新的加密庫。

  • 使用加密庫

    • 設(shè)置你的鑰匙

    • 消息長度

    • 初始化類

  • 類參考

使用加密庫

設(shè)置你的鑰匙

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

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

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

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

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

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

消息長度

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

初始化類

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

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

加載后,加密庫對象將可用:

$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);

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

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

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

參數(shù):

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

返回:

純文本字符串

返回類型:

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

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

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

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

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

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

set_cipher($cipher)

參數(shù):

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

返回:

CI_Encrypt實例(方法鏈接)

返回類型:

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);

請訪問php.net獲取可用密碼列表。

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

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

set_mode($mode)

參數(shù):

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

返回:

CI_Encrypt實例(方法鏈接)

返回類型:

CI_Encrypt

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

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

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

請訪問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中的加密庫兼容。如果您已永久存儲加密的數(shù)據(jù)(如文件或數(shù)據(jù)庫)并位于支持Mcrypt的服務(wù)器上,則只需要使用此方法?!拜p”使用加密,如加密的會話數(shù)據(jù)或暫時加密的flashdata不需要您的干預(yù)。但是,現(xiàn)有的加密會話將被破壞,因為在2.x之前加密的數(shù)據(jù)將不會被解碼。

重要

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

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

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