欢迎访问宙启技术站
智能推送

Java中实现加密解密的函数列表

发布时间:2023-06-15 14:55:39

Java中实现加密解密的函数列表包含了许多常用的加密解密算法。以下是一些常用的加密解密函数列表:

1. 对称加密算法:AES、DES、3DES

2. 非对称加密算法:RSA、DSA、ECDSA、ECDH

3. 哈希函数:MD5、SHA-1、SHA-256

4. 消息认证码:HMAC-SHA1、HMAC-SHA256

5. 对称加密算法:

AES加密解密:

1)     SecretKeySpec secretKeySpec = new SecretKeySpec(key, "AES");

2)     Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

3)     cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivspec);

4)     byte[] encrypted = cipher.doFinal(plaintext);

5)     cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivspec);

6)     byte[] decrypted = cipher.doFinal(encrypted);

DES加密解密:

1)     SecretKey key = KeyGenerator.getInstance("DES").generateKey();

2)     Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");

3)     cipher.init(Cipher.ENCRYPT_MODE, key);

4)     byte[] encrypted = cipher.doFinal(plaintext);

5)     cipher.init(Cipher.DECRYPT_MODE, key);

6)     byte[] decrypted = cipher.doFinal(encrypted);

3DES加密解密:

1)     SecretKey key = KeyGenerator.getInstance("DESede").generateKey();

2)     Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding");

3)     cipher.init(Cipher.ENCRYPT_MODE, key);

4)     byte[] encrypted = cipher.doFinal(plaintext);

5)     cipher.init(Cipher.DECRYPT_MODE, key);

6)     byte[] decrypted = cipher.doFinal(encrypted);

6. 非对称加密算法:

RSA加密解密:

1)     KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");

2)     keyPairGenerator.initialize(2048);

3)     KeyPair keyPair = keyPairGenerator.generateKeyPair();

4)     PublicKey publicKey = keyPair.getPublic();

5)     PrivateKey privateKey = keyPair.getPrivate();

6)     Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

7)     cipher.init(Cipher.ENCRYPT_MODE, publicKey);

8)     byte[] encrypted = cipher.doFinal(plaintext);

9)     cipher.init(Cipher.DECRYPT_MODE, privateKey);

10)    byte[] decrypted = cipher.doFinal(encrypted);

DSA签名验签:

1)     KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("DSA");

2)     keyPairGenerator.initialize(1024);

3)     KeyPair keyPair = keyPairGenerator.generateKeyPair();

4)     PublicKey publicKey = keyPair.getPublic();

5)     PrivateKey privateKey = keyPair.getPrivate();

6)     Signature signature = Signature.getInstance("DSA");

7)     signature.initSign(privateKey);

8)     signature.update(data);

9)     byte[] sign = signature.sign();

10)    signature.initVerify(publicKey);

11)    signature.update(data);

12)    boolean verify = signature.verify(sign);

ECDSA签名验签:

1)     KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");

2)     ECNamedCurveParameterSpec parameterSpec = ECNamedCurveTable.getParameterSpec("prime256v1");

3)     keyPairGenerator.initialize(parameterSpec);

4)     KeyPair keyPair = keyPairGenerator.generateKeyPair();

5)     PublicKey publicKey = keyPair.getPublic();

6)     PrivateKey privateKey = keyPair.getPrivate();

7)     Signature signature = Signature.getInstance("SHA256withECDSA");

8)     signature.initSign(privateKey);

9)     signature.update(data);

10)    byte[] sign = signature.sign();

11)    signature.initVerify(publicKey);

12)    signature.update(data);

13)    boolean verify = signature.verify(sign);

ECDH密钥交换:

1)     KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");

2)     ECNamedCurveParameterSpec parameterSpec = ECNamedCurveTable.getParameterSpec("prime256v1");

3)     keyPairGenerator.initialize(parameterSpec);

4)     KeyPair keyPair1 = keyPairGenerator.generateKeyPair();

5)     KeyPair keyPair2 = keyPairGenerator.generateKeyPair();

6)     PublicKey publicKey1 = keyPair1.getPublic();

7)     PrivateKey privateKey1 = keyPair1.getPrivate();

8)     PublicKey publicKey2 = keyPair2.getPublic();

9)     PrivateKey privateKey2 = keyPair2.getPrivate();

10)    KeyAgreement keyAgreement1 = KeyAgreement.getInstance("ECDH");

11)    keyAgreement1.init(privateKey1);

12)    keyAgreement1.doPhase(publicKey2, true);

13)    SecretKey secretKey1 = keyAgreement1.generateSecret("AES");

14)    KeyAgreement keyAgreement2 = KeyAgreement.getInstance("ECDH");

15)    keyAgreement2.init(privateKey2);

16)    keyAgreement2.doPhase(publicKey1, true);

17)    SecretKey secretKey2 = keyAgreement2.generateSecret("AES");

7. 哈希函数:

MD5:

1)     MessageDigest messageDigest = MessageDigest.getInstance("MD5");

2)     byte[] hash = messageDigest.digest(data);

SHA-1:

1)     MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");

2)     byte[] hash = messageDigest.digest(data);

SHA-256:

1)     MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");

2)     byte[] hash = messageDigest.digest(data);

8. 消息认证码:

HMAC-SHA1:

1)     SecretKey secretKey = new SecretKeySpec(key, "HmacSHA1");

2)     Mac mac = Mac.getInstance("HmacSHA1");

3)     mac.init(secretKey);

4)     byte[] hmac = mac.doFinal(data);

HMAC-SHA256:

1)     SecretKey secretKey = new SecretKeySpec(key, "HmacSHA256");

2)     Mac mac = Mac.getInstance("HmacSHA256");

3)     mac.init(secretKey);

4)     byte[] hmac = mac.doFinal(data);

总结:

Java中有许多的加密解密算法,使用这些算法可以保护数据的安全性。以上就是Java中实现加密解密的函数列表,可以根据需要选择合适的函数进行加密解密操作。