加密是保護數據安全的一種重要手段。Java和PHP都提供了豐富的加密功能,下面將分別介紹Java和PHP的加密。
Java加密: Java提供了豐富的加密算法和API,包括對稱加密、非對稱加密和哈希算法。下面是一個使用AES對稱加密算法的Java例子: String plaintext = "This is the plaintext message."; KeyGenerator keygen = KeyGenerator.getInstance("AES"); keygen.init(256); SecretKey key = keygen.generateKey(); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] ciphertext = cipher.doFinal(plaintext.getBytes()); System.out.println("Encrypted message: " + Base64.getEncoder().encodeToString(ciphertext)); 上述代碼首先使用KeyGenerator生成一個256位的AES對稱密鑰,然后使用Cipher進行加密,最終輸出經過Base64編碼后的密文。其中,"AES/CBC/PKCS5Padding"表示使用CBC模式和PKCS5Padding填充方式,更多加密算法和填充方式可以參考Java官方文檔。 PHP加密: PHP同樣提供了多種加密算法和函數,可以通過擴展庫或者原生函數來實現加密。下面是一個使用openssl擴展的PHP例子: $plaintext = "This is the plaintext message."; $key = openssl_random_pseudo_bytes(32); $iv = openssl_random_pseudo_bytes(16); $ciphertext = openssl_encrypt($plaintext, "aes-256-cbc", $key, OPENSSL_RAW_DATA, $iv); echo "Encrypted message: " . base64_encode($ciphertext); 上述代碼首先使用openssl_random_pseudo_bytes函數生成一個隨機的32字節密鑰和16字節IV向量,然后使用openssl_encrypt函數進行AES-256-CBC加密,并輸出Base64編碼后的密文。更多加密算法和函數可以參考PHP官方文檔。