亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php如何使用3des加解密及hmacsha256加密

 更新時(shí)間:2022年09月21日 11:45:54   作者:.周周  
因?yàn)楣ぷ髦幸玫郊用?接口中要求也是用密文傳輸數(shù)據(jù),用到3des加密,就研究了一下,下面這篇文章主要給大家介紹了關(guān)于php如何使用3des加解密及hmacsha256加密的相關(guān)資料,需要的朋友可以參考下

一、3des加解密

從PHP 7.2起它將被從核心代碼中移除并且移到PECL中。PHP手冊在7.1遷移頁面給出了替代方案,就是用OpenSSL取代MCrypt。

現(xiàn)整理PHP7.2中AES加密解密方法mcrypt_module_open()替換方案,以下為原加解密方法:

function encrypt($str) { 
         $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); 
         mcrypt_generic_init($td, $this->key, $this->hexToStr($this->hex_iv)); 
         $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);  
        $pad = $block - (strlen($str) % $block);  
        $str .= str_repeat(chr($pad), $pad);  
        $encrypted = mcrypt_generic($td, $str); 
         mcrypt_generic_deinit($td); 
         mcrypt_module_close($td);  
        return base64_encode($encrypted);  
    } 
 
    function decrypt($code) {  
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');  
        mcrypt_generic_init($td, $this->key, $this->hexToStr($this->hex_iv));  
        $str = mdecrypt_generic($td, base64_decode($code));  
        $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); 
         mcrypt_generic_deinit($td); 
        mcrypt_module_close($td); 
        return $this->strippadding($str); 
    }

替換后,新方法:

//加密
public function encrypt($data)
{
 
    if ($data== null || empty($data)) {
        return $data;
    }
    $secret_key = "your key";
    $iv = "your iv";
    $result= base64_encode(openssl_encrypt( $data, "aes-256-cbc", $secret_key, OPENSSL_RAW_DATA, $iv));
 
    return $result;
    
}
 
//解密
public function decode($data)
{
    if ($data== null || empty($data)) {
        return $data;
    }
    $secret_key = "your key";
    $iv = "your iv";
    $result= openssl_decrypt(base64_decode($data), "aes-256-cbc", $secret_key, OPENSSL_RAW_DATA, $iv);
 
    return $result;
   
}

加密方法:

openssl_encrypt($data, $method, $password, $options, $iv)

解密方法:

openssl_decrypt($data, $method, $password, $options, $iv)

參數(shù)說明:

$data 加密明文

$method 加密方法

1、DES-ECB
2、DES-CBC
3、DES-CTR
4、DES-OFB
5、DES-CFB

$passwd 加密密鑰[密碼]

$options 數(shù)據(jù)格式選項(xiàng)(可選)【選項(xiàng)有:】

1、0
2、OPENSSL_RAW_DATA=1
3、OPENSSL_ZERO_PADDING=2
4、OPENSSL_NO_PADDING=3

$iv 密初始化向量(可選)

DES 是對稱性加密里面常見一種,是一種使用密鑰加密的塊算法。

二、hmacsha256加密

使用hash_hmac()

string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] )

參數(shù)

algo

要使用的哈希算法名稱,例如:"md5","sha256","haval160,4" 等。 如何獲取受支持的算法清單,請參見 hash_algos() 。

data

要進(jìn)行哈希運(yùn)算的消息。

key

使用 HMAC 生成信息摘要時(shí)所使用的密鑰。

raw_output

設(shè)置為 TRUE 輸出原始二進(jìn)制數(shù)據(jù), 設(shè)置為 FALSE 輸出小寫 16 進(jìn)制字符串。

返回值

如果 raw_output 設(shè)置為 TRUE , 則返回原始二進(jìn)制數(shù)據(jù)表示的信息摘要, 否則返回 16 進(jìn)制小寫字符串格式表示的信息摘要。 如果 algo 參數(shù)指定的不是受支持的算法,返回 FALSE 。

總結(jié)

到此這篇關(guān)于php如何使用3des加解密及hmacsha256加密的文章就介紹到這了,更多相關(guān)php用3des加解密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用PHP偽造referer突破網(wǎng)盤禁止外連的代碼

    用PHP偽造referer突破網(wǎng)盤禁止外連的代碼

    一般的國內(nèi)網(wǎng)盤為控制流量,都會(huì)禁止網(wǎng)盤內(nèi)的文件外鏈。點(diǎn)網(wǎng)盤里文件的鏈接一般都會(huì)轉(zhuǎn)到專門的下載頁面,必須從這個(gè)頁面才能下載文件。
    2008-06-06
  • PHP實(shí)現(xiàn)將標(biāo)點(diǎn)符號(hào)正則替換為空格的方法

    PHP實(shí)現(xiàn)將標(biāo)點(diǎn)符號(hào)正則替換為空格的方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)將標(biāo)點(diǎn)符號(hào)正則替換為空格的方法,結(jié)合實(shí)例形式分析了php針對符號(hào)的正則匹配相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • PHP pear安裝配置教程

    PHP pear安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了PHP pear安裝配置教程,告訴大家如何獲取并安裝PEAR,感興趣的朋友可以參考一下
    2016-05-05
  • 學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】

    學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】

    這篇文章主要介紹了學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】,需要的朋友可以參考下
    2016-05-05
  • php新浪微博登錄接口用法實(shí)例

    php新浪微博登錄接口用法實(shí)例

    這篇文章主要介紹了php新浪微博登錄接口用法,以實(shí)例形式分析了新浪微博接口的申請與具體使用技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • PHP include_path設(shè)置技巧分享

    PHP include_path設(shè)置技巧分享

    當(dāng)時(shí)候函數(shù)include(),require(),fopen_with_path()函數(shù)來尋找文件時(shí)候.在不設(shè)置include_path的情況下,這些函數(shù)打開文件時(shí)候默認(rèn)的是以web根目錄去尋找.當(dāng)設(shè)置include_path以后,這些php函數(shù)就會(huì)先在指定的include_path目錄下面去搜索尋找
    2011-07-07
  • 探討多鍵值cookie(php中cookie存取數(shù)組)的詳解

    探討多鍵值cookie(php中cookie存取數(shù)組)的詳解

    本篇文章是對多鍵值cookie(php中cookie存取數(shù)組)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)

    PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)

    我經(jīng)常會(huì)在網(wǎng)上看到有人問怎么將整個(gè)動(dòng)態(tài)的網(wǎng)站靜態(tài)化,其實(shí)實(shí)現(xiàn)的方法很簡單
    2012-02-02
  • 奇怪的PHP引用效率問題分析

    奇怪的PHP引用效率問題分析

    最近寫了一個(gè)小的php程序處理日志中的ip,需要將每個(gè)日志中出現(xiàn)的ip都接上一個(gè)出現(xiàn)時(shí)間戳的鏈表,于是按行遍歷log日志并寫了一個(gè)update_timequeue的函數(shù)來插入時(shí)間戳節(jié)點(diǎn)
    2012-03-03
  • php文件上傳后端處理小技巧

    php文件上傳后端處理小技巧

    這篇文章主要為大家詳細(xì)介紹了php文件上傳后端處理小技巧,幫助大家更好的進(jìn)行文件上傳操作,感興趣的朋友可以參考一下
    2016-05-05

最新評論