国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

AES-128-ECB php兼容高低版本

這篇具有很好參考價值的文章主要介紹了AES-128-ECB php兼容高低版本。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

class Aes {
    /**
     * 加密
     * @param $plain
     * @param $key
     * @return false|string
     */
    public static function encrypt($plain, $key)
    {
        if (trim($key) == '') {
            return false;
        }
        $key = self::_sha1prng($key);
        if(version_compare(PHP_VERSION,'7.1','>=')){
            $iv = '';
            $encrypted = openssl_encrypt($plain, 'AES-128-ECB', $key, OPENSSL_RAW_DATA, $iv);
        }else{
            $plain       = strval($plain);
            $block_size  = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
            $padded_data = self::_pkcs5_pad($plain, $block_size);
            $iv_size     = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
            $iv          = mcrypt_create_iv($iv_size, MCRYPT_RAND);
            $encrypted   = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $padded_data, MCRYPT_MODE_ECB, $iv);
        }
        return base64_encode($encrypted);
    }

    /**
     * aes解密
     * @param $cipher   密文
     * @param $key
     * @return false|string
     */
    public static function decrypt($cipher, $key)
    {
        if ( ! is_string($cipher) || trim($key) == '') {
            return false;
        }
        $key = self::_sha1prng($key);
        $decoded = base64_decode($cipher);
        if ($decoded){
            if(version_compare(PHP_VERSION,'7.1','>=')){
                $iv = '';
                return  openssl_decrypt($decoded, 'AES-128-ECB', $key, OPENSSL_RAW_DATA, $iv);
            }else{
                $block_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
                $iv         = mcrypt_create_iv($block_size, MCRYPT_RAND);
                $decrypted  = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $decoded, MCRYPT_MODE_ECB, $iv);
                return self::_pkcs5_unpad($decrypted);
            }
        }
        return false;
    }

    /**
     * SHA1PRNG算法
     * @param $key
     * @return string
     */
    private static function _sha1prng($key)
    {
        return substr(openssl_digest(openssl_digest($key, 'sha1', true), 'sha1', true), 0, 16);
    }

    private static function _pkcs5_pad($text, $block_size)
    {
        $pad = $block_size - (strlen($text) % $block_size);
        return $text . str_repeat(chr($pad), $pad);
    }

    private static function _pkcs5_unpad($text)
    {
        $end  = substr($text, -1);
        $last = ord($end);
        $len  = strlen($text) - $last;
        if (substr($text, $len) == str_repeat($end, $last)) {
            return substr($text, 0, $len);
        }
        return false;
    }
}

//使用方法:
$keyStr = 'sdez';
$aes = new Aes();
$str = '{"openCode":"a9ae-8394-49bb","phone":"9988","name":"test","type":"2"}';
$chgstr = $aes->encrypt($str,$keyStr);
echo $chgstr;
echo PHP_EOL;
$rstr = $aes->decrypt($chgstr,$keyStr);
echo $rstr;

文章來源地址http://www.zghlxwxcb.cn/news/detail-487452.html

到了這里,關(guān)于AES-128-ECB php兼容高低版本的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • python實現(xiàn)AES-128#實現(xiàn)加密字符串和加密文件

    python實現(xiàn)AES-128#實現(xiàn)加密字符串和加密文件

    這篇文章是對之前的一篇文章的重寫和優(yōu)化AES加密算法基于python實現(xiàn) 腳本語言:Python 已實現(xiàn)的功能 明文和密密鑰可以是任意字符:中文,字符,數(shù)字或符號。 ? 明文長度任意,密鑰的字節(jié)數(shù)不能超過16字節(jié)。默認編碼為utf-8所以,密鑰最多支持5個中文字符 待加密的數(shù)據(jù):可

    2024年02月12日
    瀏覽(28)
  • php 調(diào)用python解密 AES-128-GCM

    因工作需要,要解密Java AES-128-GCM iv=16 模式的加密密文,找了php的很多方法,都無法解密成功,最后找了一個使用python3進行解密的方法,下面是解密方法: 主要是運用php的函數(shù)exec()執(zhí)行Linux命令調(diào)用python運行python文件,獲得返回結(jié)果。 注:此AES解密要用到python 3的 庫?Crypto

    2024年01月18日
    瀏覽(21)
  • 20230721在WIN10下安裝openssl并解密AES-128加密的ts視頻切片

    20230721在WIN10下安裝openssl并解密AES-128加密的ts視頻切片

    20230721在WIN10下安裝openssl并解密AES-128加密的ts視頻切片 2023/7/21 22:58 1、前言: AES-128加密的ts視頻切片【第一個】,打開有時間限制的! https://app1ce7glfm1187.h5.xiaoeknow.com/v2/course/alive/l_64af6130e4b03e4b54da1681?type=2app_id=app1cE7gLFM1187pro_id=term_645c69388953e_Nhew9Aavailable=trueshare_user_id=u_5e591188

    2024年02月16日
    瀏覽(23)
  • 前端CryptoJS-AES加解密 對應(yīng)php的AES-128-CBC加解密踩坑(java也相同加解密)

    ?前端部分注意看填充是pkcs7 有個前提,要看前端有沒有轉(zhuǎn)成hex格式,如果沒轉(zhuǎn),php那邊就不需要調(diào)用特定函數(shù)轉(zhuǎn)hex格式的 后端php代碼

    2024年02月15日
    瀏覽(23)
  • php對稱加密AES加密解密

    php對稱加密AES加密解密

    AES-128-ECB和AES-256-CBC是兩種常見的AES加密模式,它們在加密方式和安全性上有以下區(qū)別: 加密方式: AES-128-ECB:ECB(Electronic Codebook)模式是最簡單的AES加密模式,它將數(shù)據(jù)分成固定大小的塊,每個塊獨立加密。這意味著相同的明文塊將始終加密為相同的密文塊,因此ECB模式不

    2024年02月09日
    瀏覽(25)
  • PHP AES加密:保護數(shù)據(jù)安全的高級加密技術(shù)

    ASE(Advanced Encryption Standard)是一種對稱加密算法,也被稱為Rijndael加密算法。它是由比利時密碼學(xué)家Joan Daemen和Vincent Rijmen設(shè)計的,于2001年被美國國家標準與技術(shù)研究院(NIST)選定為高級加密標準。 ASE算法使用相同的密鑰進行加密和解密操作,因此被歸類為對稱加密算法。它

    2024年01月17日
    瀏覽(32)
  • php常用加密算法大全aes、3des、rsa等

    目錄 一、可解密加解密算法 1、aes 加解密算法 2、舊3des加解密方法 ?3、新3des加解密方法 4、rsa公私鑰加解密、簽名驗簽方法 5、自定義加密算法1? 6、自定義加密算法2 7、自定義加密算法3 二、不可解密加密算法? 1、md5算法? 2、crypt算法 3、sha1算法 5、hash 算法 6、 password_ha

    2024年02月09日
    瀏覽(29)
  • php7使用openssl_encrypt函數(shù)進行AES加密

    前言 手上有個api對接需求,要用到AES加密,要用到openssl_encrypt函數(shù),記錄一下,鑒權(quán)要求大概如下。 將明文先base64加密,后取前16位 判斷字符串的字節(jié)型數(shù)據(jù)長度是否為16倍整,如不是則進行補充(PKCS#7標準) 對字符串進行AES加密后base64加密,其中 iv=A-16-Byte-String 介紹 參數(shù)

    2023年04月08日
    瀏覽(24)
  • 前端通過AES進行加解密(ECB、CBC模式)

    在項目開發(fā)中,由于需要對接口傳參的敏感信息進行加密傳輸,后端接口返回的參數(shù)也是進行加密過的,此時就需要進行加解密操作。 本篇文章使用AES進行加解密,AES加密算法提供了五種不同的工作模式:CBC,ECB,CTR,CFB,OFB 這里只對CBC和ECB加解密進行說明,這兩種加密模

    2024年02月16日
    瀏覽(28)
  • ffmpeg 4.4版本對MP4文件進行AES-CTR加密,和流式加密

    ffmpeg 4.4版本對MP4文件進行AES-CTR加密,和流式加密

    ? ? ? ? 對于ffmpeg的AES-CTR加密有兩種方式,一個是普通的整個視頻做加密,另一個是對視頻做切片處理,然后進行加密。 直接使用下面的命令就行 ? ? ? ? 簡單解釋一下各種參數(shù)的作用, -vcodec copy -acodec copy 只是將 animal.mp4的音視頻數(shù)據(jù)直接拷貝到encrypted_IV3.mp4中 -encryptio

    2024年02月13日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包