PHP如何实现可以与在线加密解密工具交互的des加密算法

 为谁落慕 发布于 2022-11-18 13:32

使用php做des加密,加密出来的密文,可以在des在线加密解密工具上解密出来

3 个回答
  • 跟其他语言交互的时候,对方语言直接先base64解密再进行des解密就可以获得原始数据了.python,ios是可以,其他语言没测试,即des_decrypt(base64_decrypt($pass_string))就可了

    2022-11-18 13:43 回答
  • 主要是des的算法,然后是发送一个请求,返回结果而已。
    网上应该有类似的算法,推荐一个:
    http://www.cnblogs.com/wangchuang/archiv...
    (百度搜索,找到的)

    2022-11-18 13:43 回答
    • 不同的加密方式可得出不同的结果可导致最终的数据并不通用尽管是同一个算法

    PHP自带DES和3DES的加解密

    PHP自身支持的加密方式列表(依赖mcrypt):http://cn2.php.net/manual/zh/mcrypt.ciph...

    echo mcrypt_get_key_size(MCRYPT_DES,MCRYPT_MODE_CFB);
    // des cfb 秘钥长度为8位
    
    // 秘钥
    $key = 11111111;
    
    // 创建IV
    $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_DES, MCRYPT_MODE_CFB),MCRYPT_RAND);
    
    // 加密 使用CFB模式
    $data = mcrypt_encrypt(MCRYPT_DES, $key, '加密的数据', MCRYPT_MODE_CFB, $iv);
    
    var_dump($data);

    另外PHP的OpenSSL扩展也可以直接用于加密 相关函数:openssl_encrypt

    // 获取OpenSSL支持的加密参数列表
    print_r(openssl_get_cipher_methods());
    Array
    (
        [0] => AES-128-CBC
        [1] => AES-128-CFB
        [2] => AES-128-CFB1
        [3] => AES-128-CFB8
        [4] => AES-128-CTR
        [5] => AES-128-ECB
        [6] => AES-128-OFB
        [7] => AES-128-XTS
        [8] => AES-192-CBC
        [9] => AES-192-CFB
        [10] => AES-192-CFB1
        [11] => AES-192-CFB8
        [12] => AES-192-CTR
        [13] => AES-192-ECB
        [14] => AES-192-OFB
        [15] => AES-256-CBC
        [16] => AES-256-CFB
        [17] => AES-256-CFB1
        [18] => AES-256-CFB8
        [19] => AES-256-CTR
        [20] => AES-256-ECB
        [21] => AES-256-OFB
        [22] => AES-256-XTS
        [23] => BF-CBC
        [24] => BF-CFB
        [25] => BF-ECB
        [26] => BF-OFB
        [27] => CAMELLIA-128-CBC
        [28] => CAMELLIA-128-CFB
        [29] => CAMELLIA-128-CFB1
        [30] => CAMELLIA-128-CFB8
        [31] => CAMELLIA-128-ECB
        [32] => CAMELLIA-128-OFB
        [33] => CAMELLIA-192-CBC
        [34] => CAMELLIA-192-CFB
        [35] => CAMELLIA-192-CFB1
        [36] => CAMELLIA-192-CFB8
        [37] => CAMELLIA-192-ECB
        [38] => CAMELLIA-192-OFB
        [39] => CAMELLIA-256-CBC
        [40] => CAMELLIA-256-CFB
        [41] => CAMELLIA-256-CFB1
        [42] => CAMELLIA-256-CFB8
        [43] => CAMELLIA-256-ECB
        [44] => CAMELLIA-256-OFB
        [45] => CAST5-CBC
        [46] => CAST5-CFB
        [47] => CAST5-ECB
        [48] => CAST5-OFB
        [49] => DES-CBC
        [50] => DES-CFB
        [51] => DES-CFB1
        [52] => DES-CFB8
        [53] => DES-ECB
        [54] => DES-EDE
        [55] => DES-EDE-CBC
        [56] => DES-EDE-CFB
        [57] => DES-EDE-OFB
        [58] => DES-EDE3
        [59] => DES-EDE3-CBC
        [60] => DES-EDE3-CFB
        [61] => DES-EDE3-CFB1
        [62] => DES-EDE3-CFB8
        [63] => DES-EDE3-OFB
        [64] => DES-OFB
        [65] => DESX-CBC
        [66] => GOST 28147-89
        [67] => IDEA-CBC
        [68] => IDEA-CFB
        [69] => IDEA-ECB
        [70] => IDEA-OFB
        [71] => RC2-40-CBC
        [72] => RC2-64-CBC
        [73] => RC2-CBC
        [74] => RC2-CFB
        [75] => RC2-ECB
        [76] => RC2-OFB
        [77] => RC4
        [78] => RC4-40
        [79] => RC4-HMAC-MD5
        [80] => SEED-CBC
        [81] => SEED-CFB
        [82] => SEED-ECB
        [83] => SEED-OFB
        [84] => aes-128-cbc
        [85] => aes-128-ccm
        [86] => aes-128-cfb
        [87] => aes-128-cfb1
        [88] => aes-128-cfb8
        [89] => aes-128-ctr
        [90] => aes-128-ecb
        [91] => aes-128-gcm
        [92] => aes-128-ofb
        [93] => aes-128-xts
        [94] => aes-192-cbc
        [95] => aes-192-ccm
        [96] => aes-192-cfb
        [97] => aes-192-cfb1
        [98] => aes-192-cfb8
        [99] => aes-192-ctr
        [100] => aes-192-ecb
        [101] => aes-192-gcm
        [102] => aes-192-ofb
        [103] => aes-256-cbc
        [104] => aes-256-ccm
        [105] => aes-256-cfb
        [106] => aes-256-cfb1
        [107] => aes-256-cfb8
        [108] => aes-256-ctr
        [109] => aes-256-ecb
        [110] => aes-256-gcm
        [111] => aes-256-ofb
        [112] => aes-256-xts
        [113] => bf-cbc
        [114] => bf-cfb
        [115] => bf-ecb
        [116] => bf-ofb
        [117] => camellia-128-cbc
        [118] => camellia-128-cfb
        [119] => camellia-128-cfb1
        [120] => camellia-128-cfb8
        [121] => camellia-128-ecb
        [122] => camellia-128-ofb
        [123] => camellia-192-cbc
        [124] => camellia-192-cfb
        [125] => camellia-192-cfb1
        [126] => camellia-192-cfb8
        [127] => camellia-192-ecb
        [128] => camellia-192-ofb
        [129] => camellia-256-cbc
        [130] => camellia-256-cfb
        [131] => camellia-256-cfb1
        [132] => camellia-256-cfb8
        [133] => camellia-256-ecb
        [134] => camellia-256-ofb
        [135] => cast5-cbc
        [136] => cast5-cfb
        [137] => cast5-ecb
        [138] => cast5-ofb
        [139] => des-cbc
        [140] => des-cfb
        [141] => des-cfb1
        [142] => des-cfb8
        [143] => des-ecb
        [144] => des-ede
        [145] => des-ede-cbc
        [146] => des-ede-cfb
        [147] => des-ede-ofb
        [148] => des-ede3
        [149] => des-ede3-cbc
        [150] => des-ede3-cfb
        [151] => des-ede3-cfb1
        [152] => des-ede3-cfb8
        [153] => des-ede3-ofb
        [154] => des-ofb
        [155] => desx-cbc
        [156] => gost89
        [157] => gost89-cnt
        [158] => id-aes128-CCM
        [159] => id-aes128-GCM
        [160] => id-aes128-wrap
        [161] => id-aes192-CCM
        [162] => id-aes192-GCM
        [163] => id-aes192-wrap
        [164] => id-aes256-CCM
        [165] => id-aes256-GCM
        [166] => id-aes256-wrap
        [167] => id-smime-alg-CMS3DESwrap
        [168] => idea-cbc
        [169] => idea-cfb
        [170] => idea-ecb
        [171] => idea-ofb
        [172] => rc2-40-cbc
        [173] => rc2-64-cbc
        [174] => rc2-cbc
        [175] => rc2-cfb
        [176] => rc2-ecb
        [177] => rc2-ofb
        [178] => rc4
        [179] => rc4-40
        [180] => rc4-hmac-md5
        [181] => seed-cbc
        [182] => seed-cfb
        [183] => seed-ecb
        [184] => seed-ofb
    )
    // 使用openssl加密数据
    $string = openssl_encrypt('要加密的数据','des-cfb','秘钥des为8位',0,'IV des为8位');
    var_dump($string);
    2022-11-18 13:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有