PHP如何?可以與線上加密解密工具互動的des密碼編譯演算法

來源:互聯網
上載者:User
關鍵字 php 密碼編譯演算法 des
使用php做des加密,加密出來的密文,可以在des線上加密解密工具上解密出來

回複內容:

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

  • 不同的加密方式可得出不同的結果可導致最終的資料並不通用儘管是同一個演算法

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

主要是des的演算法,然後是發送一個請求,返回結果而已。
網上應該有類似的演算法,推薦一個:
http://www.cnblogs.com/wangchuang/archiv...
(百度搜尋,找到的)

跟其他語言互動的時候,對方語言直接先base64解密再進行des解密就可以獲得未經處理資料了.python,ios是可以,其他語言沒測試,即des_decrypt(base64_decrypt($pass_string))就可了

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.