Java DES 加密/解密
发布时间:2020-12-14 23:53:14 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.security.S
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.security.Security; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.CipherInputStream; import javax.crypto.CipherOutputStream; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; public class Main { static Cipher ce; static Cipher cd; public static void main(String args[]) throws Exception { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); SecretKey skey = KeyGenerator.getInstance("DES").generateKey(); byte[] initializationVector = new byte[]{0x10,0x10,0x01,0x04,0x02}; AlgorithmParameterSpec algParameters = new IvParameterSpec(initializationVector); ce = Cipher.getInstance("DES/CBC/PKCS5Padding"); cd = Cipher.getInstance("DES/CBC/PKCS5Padding"); ce.init(Cipher.ENCRYPT_MODE,skey,algParameters); cd.init(Cipher.DECRYPT_MODE,algParameters); FileInputStream is = new FileInputStream("C:/Users/nikos7/Desktop/output.txt"); FileOutputStream os = new FileOutputStream("C:/Users/nikos7/Desktop/output2.txt"); int dataSize = is.available(); byte[] inbytes = new byte[dataSize]; is.read(inbytes); String str2 = new String(inbytes); System.out.println("Input file contentn" + str2 + "n"); write_encode(inbytes,os); os.flush(); is.close(); os.close(); System.out.println("Ecrypted Content to output2.txtn"); is = new FileInputStream("C:/Users/nikos7/Desktop/output2.txt"); byte[] decBytes = new byte[dataSize]; read_decode(decBytes,is); is.close(); String str = new String(decBytes); System.out.println("Decrypted file contents:n" + str); } public static void write_encode(byte[] bytes,OutputStream output) throws Exception { CipherOutputStream cOutputStream = new CipherOutputStream(output,ce); cOutputStream.write(bytes,bytes.length); cOutputStream.close(); } public static void read_decode(byte[] bytes,InputStream input) throws Exception { CipherInputStream cInputStream = new CipherInputStream(input,cd); int position = 0,i; while ((i = cInputStream.read()) != -1) { bytes[position] = (byte) i; position++; } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |