幽冥大陆(六十六) PHP8.x SSL 文字解密—东方仙盟古法结界

php 8.x 解密代码

复制代码
/**
 * DES-CBC解密(PHP8.2+OpenSSL3.0 专用,绕过DES禁用限制)
 * 适配密钥:  | 密文: 
 */
function 未来之窗_sphp8x($text, $sKey) {
    // 强制输出所有信息,杜绝无返回
    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    try {
        // 1. 密钥处理(和PHP5.6完全一致)
        $md5Key = strtoupper(md5($sKey));
        $desKey = substr($md5Key, 0, 8); // 固定为 A192D9E4
        $iv = $desKey;

        // 2. 十六进制转二进制(兜底方案)
        $text = preg_replace('/[^0-9A-Fa-f]/', '', $text);
        $encryptedData = pack("H*", $text); // 替代hex2bin,兼容所有PHP版本

        // 3. 核心:使用PHP内置DES解密(绕开OpenSSL)
        // 模拟mcrypt_decrypt的DES-CBC解密逻辑(PHP5.6原版)
        $decrypted = decrypt_des_cbc($encryptedData, $desKey, $iv);

        if (empty($decrypted)) {
            throw new Exception("解密结果为空");
        }

        // 4. 编码转换+清理(解决中文乱码)
        $decrypted = rtrim($decrypted, "\0\x01\x02\x03\x04\x05\x06\x07"); // 清理填充
        $encoding = mb_detect_encoding($decrypted, ['GBK', 'UTF-8', 'ASCII'], true);
        if ($encoding && $encoding !== 'UTF-8') {
            $decrypted = mb_convert_encoding($decrypted, 'UTF-8', $encoding);
        }

        return $decrypted;

    } catch (Exception $e) {
        return "CyberPHP not vaild Param: " . $e->getMessage() . " | " . openssl_error_string();
    }
}

/**
 * 纯PHP实现DES-CBC解密(不依赖OpenSSL/mcrypt,100%兼容)
 * @param string $data 二进制密文
 * @param string $key 8字节DES密钥
 * @param string $iv 8字节IV
 * @return string 解密后的明文
 */
function decrypt_des_cbc($data, $key, $iv) {
    $blockSize = 8;
    $key = str_pad($key, $blockSize, "\0");
    $iv = str_pad($iv, $blockSize, "\0");
    $decrypted = '';
    $prevBlock = $iv;

    // 分块解密(CBC核心逻辑)
    for ($i = 0; $i < strlen($data); $i += $blockSize) {
        $block = substr($data, $i, $blockSize);
        if (strlen($block) < $blockSize) break;

        // DES单块解密(ECB模式)
        $decryptedBlock = decrypt_des_ecb($block, $key);
        // CBC异或操作
        $decryptedBlock = xor_bytes($decryptedBlock, $prevBlock);
        $decrypted .= $decryptedBlock;
        $prevBlock = $block;
    }

    return $decrypted;
}

/**
 * DES-ECB单块解密(纯PHP实现,无依赖)
 */
function decrypt_des_ecb($block, $key) {
    // 预定义DES S盒(标准DES算法)
    $sbox = [
        [[14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7],[0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8],[4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0],[15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13]],
        [[15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10],[3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5],[0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15],[13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9]],
        [[10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8],[13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1],[13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7],[1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12]],
        [[7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15],[13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9],[10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4],[3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14]],
        [[2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9],[14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6],[4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14],[11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3]],
        [[12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11],[10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8],[9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6],[4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13]],
        [[4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1],[13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6],[1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2],[6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12]],
        [[13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7],[1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2],[7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8],[2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11]]
    ];

    // DES初始置换IP
    $ip = [58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7];
    // 最终置换IP-1
    $ipInv = [40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58,26,33,1,41,9,49,17,57,25];
    // 扩展置换E
    $e = [32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1];
    // P盒置换
    $p = [16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25];
    // 置换选择1
    $pc1 = [57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];
    // 置换选择2
    $pc2 = [14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];
    // 移位表
    $shifts = [1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];

    // 密钥处理
    $keyBin = str_split($key);
    $keyBits = [];
    foreach ($keyBin as $chr) {
        $bits = str_pad(decbin(ord($chr)), 8, '0', STR_PAD_LEFT);
        $keyBits = array_merge($keyBits, str_split($bits));
    }
    $keyPc1 = [];
    foreach ($pc1 as $pos) $keyPc1[] = $keyBits[$pos-1];
    $c = array_slice($keyPc1, 0, 28);
    $d = array_slice($keyPc1, 28);
    $subkeys = [];
    for ($i=0; $i<16; $i++) {
        $c = array_merge(array_slice($c, $shifts[$i]), array_slice($c, 0, $shifts[$i]));
        $d = array_merge(array_slice($d, $shifts[$i]), array_slice($d, 0, $shifts[$i]));
        $cd = array_merge($c, $d);
        $subkey = [];
        foreach ($pc2 as $pos) $subkey[] = $cd[$pos-1];
        $subkeys[$i] = $subkey;
    }

    // 数据解密
    $blockBin = str_split($block);
    $blockBits = [];
    foreach ($blockBin as $chr) {
        $bits = str_pad(decbin(ord($chr)), 8, '0', STR_PAD_LEFT);
        $blockBits = array_merge($blockBits, str_split($bits));
    }
    $ipBits = [];
    foreach ($ip as $pos) $ipBits[] = $blockBits[$pos-1];
    $l = array_slice($ipBits, 0, 32);
    $r = array_slice($ipBits, 32);
    for ($i=15; $i>=0; $i--) {
        $temp = $r;
        $eBits = [];
        foreach ($e as $pos) $eBits[] = $r[$pos-1];
        $eXor = [];
        for ($j=0; $j<48; $j++) $eXor[] = ($eBits[$j] == $subkeys[$i][$j]) ? '0' : '1';
        $sOut = [];
        for ($j=0; $j<8; $j++) {
            $row = bindec($eXor[$j*6] . $eXor[$j*6+5]);
            $col = bindec($eXor[$j*6+1] . $eXor[$j*6+2] . $eXor[$j*6+3] . $eXor[$j*6+4]);
            $val = $sbox[$j][$row][$col];
            $bits = str_pad(decbin($val), 4, '0', STR_PAD_LEFT);
            $sOut = array_merge($sOut, str_split($bits));
        }
        $pBits = [];
        foreach ($p as $pos) $pBits[] = $sOut[$pos-1];
        $lXor = [];
        for ($j=0; $j<32; $j++) $lXor[] = ($l[$j] == $pBits[$j]) ? '0' : '1';
        $r = $lXor;
        $l = $temp;
    }
    $rl = array_merge($r, $l);
    $ipInvBits = [];
    foreach ($ipInv as $pos) $ipInvBits[] = $rl[$pos-1];
    $decryptedBits = implode('', $ipInvBits);
    $decryptedBlock = '';
    for ($i=0; $i<64; $i+=8) {
        $byte = substr($decryptedBits, $i, 8);
        $decryptedBlock .= chr(bindec($byte));
    }

    return $decryptedBlock;
}

/**
 * 字节异或辅助函数
 */
function xor_bytes($a, $b) {
    $len = min(strlen($a), strlen($b));
    $result = '';
    for ($i = 0; $i < $len; $i++) {
        $result .= chr(ord($a[$i]) ^ ord($b[$i]));
    }
    return $result;
}

 
 
// ==================== 立即可用的测试代码 ====================
// 替换为你的实际密钥(必须和PHP5.6加密时完全一致!)
 

// ==================== 测试调用 ====================
 
//$sKey = '你的加密密钥'; // 必须和PHP5.6加密时的密钥完全一致
//echo 未来之窗_ 用 ($ciphertext, $sKey);
// ==================== 关键配置(必须启用以下扩展) ====================
// 确保php.ini中启用以下扩展(Windows+PHP8.2):
// extension=openssl
// extension=mbstring
// extension_dir = " )"
 
// $sKey = '你的加密密钥'; // 必须和加密时的密钥完全一致
// echo 未来之窗_safe_通用_decrypt($ciphertext, $sKey);

PHP8.x DES-CBC 解密实战:东方仙盟视角下的「破禁结界术」

在 PHP 开发的「仙盟谱系」中,PHP8.x 如同登顶「化神期」的修士 ------ 宗门颁布了全新的「术法禁令」(OpenSSL3.0 禁用 DES 等老旧算法),却仍需破解前代修士留下的「古法结界」(DES-CBC 加密数据)。本文以 PHP8.2+OpenSSL3.0 环境下的 DES-CBC 解密代码为核心,结合东方仙盟的趣味比喻,拆解这一版本下解密的核心逻辑、适配要点与初学者入门路径,揭秘如何绕过「术法禁令」,还原加密数据的真实面貌。

一、PHP8.x 解密的「仙盟困境」:禁令下的古法破解

东方仙盟的化神期修士,面临着两难境地:宗门为了「术法安全」,禁用了部分威力不足但应用广泛的「古法结界术」(OpenSSL3.0 将 DES 标记为弱算法并限制调用);但大量前代宗门留下的「秘典」(历史业务数据),仍用这种古法加密,必须掌握「破禁之法」才能读取。

PHP8.x(尤其是 8.2)正是这一「困境」的技术映射:

  1. OpenSSL3.0 默认屏蔽 DES 算法的直接调用,传统openssl_decrypt('DES-CBC')会直接失效 ------ 如同仙盟禁用「古法令牌」,直接用令牌破解结界会触发宗门禁制;
  2. Mcrypt 扩展已完全移除,无法依赖旧扩展实现 DES 解密 ------ 如同修炼古法的「本命法器」被销毁;
  3. 字节处理、编码校验更严格,稍有偏差就会导致解密失败 ------ 如同化神期对「阵纹刻画」的精度要求达到极致。

而本文的未来之窗_safe_通用_decrypt函数,便是适配 PHP8.x 的「破禁结界心法」------ 纯 PHP 实现 DES 核心算法,彻底绕开 OpenSSL 的限制,如同修士悟透古法的「底层道则」,无需依赖宗门法器也能破解结界。

二、PHP8.x DES-CBC 解密的「术法拆解」:纯 PHP 实现的破禁之道

如同仙盟化神期修士破解「禁用法术」需「跳出法器依赖,直悟术法本源」,PHP8.x 的 DES-CBC 解密核心是「抛弃 OpenSSL/Mcrypt 扩展,纯 PHP 实现 DES 算法」。我们结合代码逐一拆解这一「破禁心法」:

1. 密钥处理:仙盟「核心令牌」的复刻(与古法完全一致)

php

运行

复制代码
$md5Key = strtoupper(md5($sKey));
$desKey = substr($md5Key, 0, 8); // 固定为 A192D9E4
$iv = $desKey;

即便到了 PHP8.x,破解古法结界的「核心令牌」仍需与加密时完全一致 ------ 如同破解前代修士的结界,必须复刻相同的「令牌纹路」。这一步的关键是「无偏差复刻」:

  • MD5 哈希后转大写(与 PHP5.6 加密时的令牌提纯规则一致);
  • 严格截取前 8 字节(DES 算法的「令牌规格」不可更改);
  • IV 复用密钥(古法结界的「初始阵眼」规则)。

PHP8.x 的适配点:无需额外处理字符编码,因substr在 PHP8.x 中对 ASCII 字符的截取逻辑与旧版本完全一致,确保令牌「纹路无偏差」。

2. 密文预处理:清理「结界杂讯」的兜底方案

php

运行

复制代码
$text = preg_replace('/[^0-9A-Fa-f]/', '', $text);
$encryptedData = pack("H*", $text); // 替代hex2bin,兼容所有PHP版本

仙盟破解结界前,需清理附着在结界上的「灵力杂讯」(非十六进制字符);而pack("H*", $text)是 PHP8.x 的「兜底心法」------ 替代兼容性存疑的hex2bin,如同修士不用宗门配发的「清杂法器」,改用自研手法清理杂讯,确保适配所有环境。

PHP8.x 的细节:pack函数在 8.x 版本中对无效十六进制字符的容错性更稳定,避免因字符过滤不彻底导致「结界形态失真」。

3. 核心解密:纯 PHP 实现 DES-CBC------ 直悟术法本源

php

运行

复制代码
$decrypted = decrypt_des_cbc($encryptedData, $desKey, $iv);

这是 PHP8.x 破禁的核心,如同化神期修士不再依赖法器,而是直接推演「结界术法的底层道则」。decrypt_des_cbcdecrypt_des_ecb函数完全复刻了 DES 算法的核心逻辑,我们拆解其中的「术法道则」:

(1)CBC 模式的「结界分层破解」

php

运行

复制代码
for ($i = 0; $i < strlen($data); $i += $blockSize) {
    $block = substr($data, $i, $blockSize);
    // DES单块解密(ECB模式)
    $decryptedBlock = decrypt_des_ecb($block, $key);
    // CBC异或操作(核心:前块阵眼异或当前块)
    $decryptedBlock = xor_bytes($decryptedBlock, $prevBlock);
    $decrypted .= $decryptedBlock;
    $prevBlock = $block;
}

CBC 模式的解密如同破解「多层嵌套结界」:每一层结界(8 字节密文块)需先通过 DES-ECB 破解单层阵纹,再与前一层的「阵眼」(前块密文 / 初始 IV)进行字节异或,还原真实内容。xor_bytes函数便是「阵眼异或心法」,确保每层结界的破解结果能衔接成完整的秘典。

(2)DES-ECB 核心:复刻「古法阵纹规则」

decrypt_des_ecb函数中预定义的 S 盒、初始置换 IP、最终置换 IP-1、扩展置换 E 等,是 DES 算法的「底层阵纹规则」------ 如同仙盟古法结界的「核心阵纹图谱」:

  • S 盒:DES 算法的「核心变换阵纹」,决定字节的加密 / 解密映射关系;
  • 置换表(IP/IP-1/E/P):阵纹的「排列规则」,确保数据按固定路径变换;
  • 子密钥生成:根据原始令牌推演 16 轮解密所需的「子令牌」,如同修士根据核心令牌生成 16 层破阵信物。

PHP8.x 的关键:纯 PHP 代码复刻这些规则,彻底脱离对 OpenSSL 的依赖,如同修士背熟阵纹图谱,不用法器也能手动推演破阵步骤。

4. 后处理:清理「结界残留」,还原秘典真容

php

运行

复制代码
$decrypted = rtrim($decrypted, "\0\x01\x02\x03\x04\x05\x06\x07"); // 清理填充
$encoding = mb_detect_encoding($decrypted, ['GBK', 'UTF-8', 'ASCII'], true);
if ($encoding && $encoding !== 'UTF-8') {
    $decrypted = mb_convert_encoding($decrypted, 'UTF-8', $encoding);
}

破解结界后,需清理「灵力残留」(填充字符)------PHP8.x 的rtrim支持多字符清理,覆盖 DES 加密的所有常见填充类型;而编码转换则是「校正秘典文字」,PHP8.x 的mb_detect_encoding对编码的识别精度更高,能精准还原中文内容,避免「秘典文字错乱」。

5. 异常兜底:化神期的「护身咒」

php

运行

复制代码
catch (Exception $e) {
    return "CyberPHP not vaild Param: " . $e->getMessage() . " | " . openssl_error_string();
}

即便悟透古法,破解结界仍可能遇到「阵纹反噬」(解密失败),通过try-catch捕获异常并输出openssl_error_string()(即便不用 OpenSSL,也能排查环境问题),如同化神期修士的「护身咒」,避免术法反噬导致程序崩溃。

三、PHP8.x DES-CBC 解密的典型应用场景

如同化神期修士的「破禁术法」有明确的用武之地,PHP8.x 的纯 PHP DES 解密主要应用于以下场景:

1. 老旧系统升级后的历史数据读取

将 PHP5.x/7.x 系统升级到 PHP8.2 后,原有的 DES 加密历史数据(如用户信息、订单记录)无法通过 OpenSSL 直接解密,需用纯 PHP 实现的 DES 算法读取 ------ 如同仙盟升级宗门法阵后,用破禁术法读取前代秘典库中的加密内容。

2. 强合规要求的 PHP8.x 项目

部分金融、政务项目要求使用 PHP8.2+OpenSSL3.0 环境(满足最新安全合规),但又需对接仍使用 DES 加密的第三方接口(如传统物流、税务系统)------ 纯 PHP 解密方案既满足合规要求,又能破解第三方的古法结界。

3. 无扩展依赖的跨环境部署

PHP8.x 项目需部署在极简环境(如轻量容器、无扩展的云函数),无法安装额外扩展,纯 PHP DES 解密方案无需依赖 OpenSSL/Mcrypt,如同修士无需法器也能破阵,适配所有极简部署环境。

四、PHP8.x 解密初学者的「仙盟修炼路径」

对初学者而言,PHP8.x 的纯 PHP DES 解密看似复杂(涉及大量算法细节),实则可按「仙盟修炼路径」逐步掌握:

1. 先跑通测试,再理解原理

无需一开始深究 S 盒、置换表等底层算法,如同仙盟新人先练「破阵招式」,再悟「阵纹原理」:

  • 替换测试代码中的$sKey(如示例中的hcaide)和$ciphertext,执行函数观察解密结果;
  • 确认能成功解密后,再逐步查看decrypt_des_cbc的分块逻辑、xor_bytes的异或操作,理解 CBC 模式的核心。

2. 抓核心流程,忽略算法细节

记住 PHP8.x 解密的核心链路:密钥复刻(8字节)→ 密文兜底转换 → 纯PHP DES-CBC分块解密(ECB+异或)→ 清理填充+编码转换先掌握这个链路,S 盒、置换表等底层算法可作为「进阶修炼内容」,入门阶段无需深究。

3. 对比学习,理解版本差异

将 PHP8.x 的纯 PHP 解密方案与 PHP7.x 的 OpenSSL 方案对比:

  • PHP7.x 可通过兼容配置调用 OpenSSL 的 DES 算法;
  • PHP8.x 需绕开 OpenSSL 限制,直抵算法本源;
  • 对比后能清晰理解「为何 PHP8.x 需要纯 PHP 实现」,而非死记代码。

4. 调试优先,用分段输出找问题

初学者解密失败时,可在代码中增加分段输出:

  • 输出$desKey确认密钥是否正确(如示例中hcaide的 MD5 大写前 8 位是否为A192D9E4);
  • 输出$encryptedData确认密文转换是否正确;
  • 输出decrypt_des_ecb的单块解密结果,排查核心算法是否正常 ------ 如同仙盟新人破阵失败时,先查令牌、再查阵纹,逐步定位问题。

五、总结

PHP8.x 的 DES-CBC 解密,是「破禁与兼容」的典型技术场景 ------ 如同化神期修士既要遵守宗门新禁令,又要掌握古法破阵之术。对初学者而言,无需畏惧算法的复杂度:先跑通测试,再抓核心流程,最后对比版本差异,就能逐步掌握这一技术。

而从技术本质来看,PHP8.x 的纯 PHP DES 解密方案,核心是「回归算法本源」------ 当扩展依赖被限制时,直接复刻算法的底层逻辑,这也是编程的核心思维:工具(扩展)会变,但算法的底层道则不变。如同仙盟的传承:法器会更新,但术法的核心道则永远相通。掌握了这份「回归本源」的思维,不仅能搞定 PHP8.x 的 DES 解密,更能应对其他算法、其他版本的兼容难题。

在 PHP 开发的「仙盟谱系」中,PHP8.x 如同登顶「化神期」的修士 ------ 宗门颁布了全新的「术法禁令」(OpenSSL3.0 禁用 DES 等老旧算法),却仍需破解前代修士留下的「古法结界」(DES-CBC 加密数据)。本文以 PHP8.2+OpenSSL3.0 环境下的 DES-CBC 解密代码为核心,结合东方仙盟的趣味比喻,拆解这一版本下解密的核心逻辑、适配要点与初学者入门路径,揭秘如何绕过「术法禁令」,还原加密数据的真实面貌。

阿雪技术观

在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。

Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology

相关推荐
未来之窗软件服务1 天前
CICD 信发系统自动打包安卓签名apk—无相无界(7)—东方仙盟
android·仙盟创梦ide·东方仙盟·东方仙盟无相无界
willhuo2 天前
Certbot工具在CentOS 7.9上申请和配置SSL证书完整教程
linux·centos·ssl
不羁的fang少年2 天前
https机制
服务器·https·ssl
YanDDDeat2 天前
【计算机网络】SSL/TLS加密
网络协议·计算机网络·ssl
独隅3 天前
SSL协议深度解析:从历史演进到现代安全实践
网络协议·安全·ssl
0709003 天前
免费ssl证书自动申请续期部署(90天)
ssl
草根站起来4 天前
GeoTrust G2 TLS CN RSA4096 SHA256 2022 CA1
ssl
困惑阿三6 天前
Nginx 域名绑定与 HTTPS 配置指南
运维·nginx·https·ssl
lars_lhuan6 天前
K8s跨命名空间SSL认证解决方案:Reflector工具实战
容器·kubernetes·ssl
PinTrust SSL证书7 天前
Sectigo(Comodo)域名型DV通配符SSL
网络·网络协议·http·网络安全·https·软件工程·ssl