Advertisement
dono59940

Untitled

Apr 30th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. package net.minecraft.server.v1_7_R4;
  2.  
  3. import java.io.PrintStream;
  4. import java.io.UnsupportedEncodingException;
  5. import java.security.GeneralSecurityException;
  6. import java.security.InvalidKeyException;
  7. import java.security.Key;
  8. import java.security.KeyFactory;
  9. import java.security.KeyPair;
  10. import java.security.KeyPairGenerator;
  11. import java.security.MessageDigest;
  12. import java.security.NoSuchAlgorithmException;
  13. import java.security.PrivateKey;
  14. import java.security.PublicKey;
  15. import java.security.spec.InvalidKeySpecException;
  16. import java.security.spec.X509EncodedKeySpec;
  17. import javax.crypto.BadPaddingException;
  18. import javax.crypto.Cipher;
  19. import javax.crypto.IllegalBlockSizeException;
  20. import javax.crypto.NoSuchPaddingException;
  21. import javax.crypto.SecretKey;
  22. import javax.crypto.spec.IvParameterSpec;
  23. import javax.crypto.spec.SecretKeySpec;
  24.  
  25. public class MinecraftEncryption
  26. {
  27. public static KeyPair b()
  28. {
  29. try
  30. {
  31. KeyPairGenerator localKeyPairGenerator = KeyPairGenerator.getInstance("RSA");
  32. localKeyPairGenerator.initialize(1024);
  33.  
  34. return localKeyPairGenerator.generateKeyPair();
  35. }
  36. catch (NoSuchAlgorithmException localNoSuchAlgorithmException)
  37. {
  38. localNoSuchAlgorithmException.printStackTrace();
  39.  
  40. System.err.println("Key pair generation failed!");
  41. }
  42. return null;
  43. }
  44.  
  45. public static byte[] a(String paramString, PublicKey paramPublicKey, SecretKey paramSecretKey)
  46. {
  47. try
  48. {
  49. return a("SHA-1", new byte[][] { paramString.getBytes("ISO_8859_1"), paramSecretKey.getEncoded(), paramPublicKey.getEncoded() });
  50. }
  51. catch (UnsupportedEncodingException localUnsupportedEncodingException)
  52. {
  53. localUnsupportedEncodingException.printStackTrace();
  54. }
  55. return null;
  56. }
  57.  
  58. private static byte[] a(String paramString, byte[]... paramVarArgs)
  59. {
  60. try
  61. {
  62. MessageDigest localMessageDigest = MessageDigest.getInstance(paramString);
  63. for (byte[] arrayOfByte1 : paramVarArgs) {
  64. localMessageDigest.update(arrayOfByte1);
  65. }
  66. return localMessageDigest.digest();
  67. }
  68. catch (NoSuchAlgorithmException localNoSuchAlgorithmException)
  69. {
  70. localNoSuchAlgorithmException.printStackTrace();
  71. }
  72. return null;
  73. }
  74.  
  75. public static PublicKey a(byte[] paramArrayOfByte)
  76. {
  77. try
  78. {
  79. X509EncodedKeySpec localX509EncodedKeySpec = new X509EncodedKeySpec(paramArrayOfByte);
  80. KeyFactory localKeyFactory = KeyFactory.getInstance("RSA");
  81. return localKeyFactory.generatePublic(localX509EncodedKeySpec);
  82. }
  83. catch (NoSuchAlgorithmException localNoSuchAlgorithmException) {}catch (InvalidKeySpecException localInvalidKeySpecException) {}
  84. System.err.println("Public key reconstitute failed!");
  85. return null;
  86. }
  87.  
  88. public static SecretKey a(PrivateKey paramPrivateKey, byte[] paramArrayOfByte)
  89. {
  90. return new SecretKeySpec(b(paramPrivateKey, paramArrayOfByte), "AES");
  91. }
  92.  
  93. public static byte[] b(Key paramKey, byte[] paramArrayOfByte)
  94. {
  95. return a(2, paramKey, paramArrayOfByte);
  96. }
  97.  
  98. private static byte[] a(int paramInt, Key paramKey, byte[] paramArrayOfByte)
  99. {
  100. try
  101. {
  102. return a(paramInt, paramKey.getAlgorithm(), paramKey).doFinal(paramArrayOfByte);
  103. }
  104. catch (IllegalBlockSizeException localIllegalBlockSizeException)
  105. {
  106. localIllegalBlockSizeException.printStackTrace();
  107. }
  108. catch (BadPaddingException localBadPaddingException)
  109. {
  110. localBadPaddingException.printStackTrace();
  111. }
  112. System.err.println("Cipher data failed!");
  113. return null;
  114. }
  115.  
  116. private static Cipher a(int paramInt, String paramString, Key paramKey)
  117. {
  118. try
  119. {
  120. Cipher localCipher = Cipher.getInstance(paramString);
  121. localCipher.init(paramInt, paramKey);
  122. return localCipher;
  123. }
  124. catch (InvalidKeyException localInvalidKeyException)
  125. {
  126. localInvalidKeyException.printStackTrace();
  127. }
  128. catch (NoSuchAlgorithmException localNoSuchAlgorithmException)
  129. {
  130. localNoSuchAlgorithmException.printStackTrace();
  131. }
  132. catch (NoSuchPaddingException localNoSuchPaddingException)
  133. {
  134. localNoSuchPaddingException.printStackTrace();
  135. }
  136. System.err.println("Cipher creation failed!");
  137. return null;
  138. }
  139.  
  140. public static Cipher a(int paramInt, Key paramKey)
  141. {
  142. try
  143. {
  144. Cipher localCipher = Cipher.getInstance("AES/CFB8/NoPadding");
  145. localCipher.init(paramInt, paramKey, new IvParameterSpec(paramKey.getEncoded()));
  146. return localCipher;
  147. }
  148. catch (GeneralSecurityException localGeneralSecurityException)
  149. {
  150. throw new RuntimeException(localGeneralSecurityException);
  151. }
  152. }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement