使用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))就可了