当前位置:   article > 正文

PBKDF2加密_pbkdf在线

pbkdf在线
用PBKDF加密密码
  1. public class EncrptyUtil
  2. {
  3. public static String encrptyPB2(String password)
  4. {
  5. try
  6. {
  7. int iterationCount = 1000;
  8. int keyLength = 64*8;
  9. char[] charPwd = password.toCharArray();
  10. byte[] salt = getSalt().getBytes();
  11. for (byte b : salt)
  12. {
  13. System.out.print(b);
  14. }
  15. System.out.println();
  16. System.out.println("------------------------");
  17. PBEKeySpec keySpec = new PBEKeySpec(charPwd, salt, iterationCount, keyLength);
  18. SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
  19. byte[] pbePwd = keyFactory.generateSecret(keySpec).getEncoded();
  20. for (byte b : pbePwd)
  21. {
  22. System.out.print(b);
  23. }
  24. System.out.println();
  25. System.out.println("------------------------");
  26. System.out.println(salt.toString()+pbePwd.toString());
  27. return salt.toString()+pbePwd.toString();
  28. }
  29. catch (Exception e)
  30. {
  31. e.printStackTrace();
  32. }
  33. return null;
  34. }
  35. private static String getSalt()
  36. {
  37. try
  38. {
  39. byte[] bytes = new byte[16];
  40. SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
  41. random.nextBytes(bytes);
  42. System.out.println(random.toString());
  43. return random.toString();
  44. }
  45. catch (NoSuchAlgorithmException e)
  46. {
  47. e.printStackTrace();
  48. }
  49. return null;
  50. }
  51. @Test
  52. public void testPB2()
  53. {
  54. String password="ghrte";
  55. EncrptyUtil.encrptyPB2(password);
  56. }
  57. }

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号