EncoderTest.java
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:6k
源码类别:

CA认证

开发平台:

Java

  1. package org.bouncycastle.util.encoders.test;
  2. import java.util.*;
  3. import org.bouncycastle.util.encoders.*;
  4. import org.bouncycastle.util.test.*;
  5. public class EncoderTest implements Test {
  6. /*
  7.  *
  8.  *  VARIABLES
  9.  *
  10.  */
  11. public static final boolean DEBUG = true;
  12. /*
  13.  *
  14.  *  INFRASTRUCTURE
  15.  *
  16.  */
  17.     public static void main(String[] _args)
  18.     {
  19.         EncoderTest _test = new EncoderTest();
  20.         System.out.println(_test.testBase64());
  21.         System.out.println(_test.testHex());
  22.     }
  23. public static void log(Exception _ex) {
  24. if(DEBUG) {
  25. _ex.printStackTrace();
  26. }
  27. }
  28. public static void log(String _msg) {
  29. if(DEBUG) {
  30. System.out.println(_msg);
  31. }
  32. }
  33. public String getName()
  34. {
  35. return "Encoder";
  36. }
  37. /*
  38.  *
  39.  *  TESTS
  40.  *
  41.  */
  42. public TestResult perform()
  43. {
  44. return testBase64();
  45. }
  46. public TestResult testBase64() {
  47. try {
  48. Random _r = new Random();
  49. byte[] _orig1024 = new byte[1024];
  50. _r.nextBytes(_orig1024);
  51. byte[] _orig2048 = new byte[2048];
  52. _r.nextBytes(_orig2048);
  53. byte[] _orig4096 = new byte[4096];
  54. _r.nextBytes(_orig4096);
  55. byte[] _orig8192 = new byte[8192];
  56. _r.nextBytes(_orig8192);
  57. byte[] _enc1024 = Base64.encode(_orig1024);
  58. byte[] _enc2048 = Base64.encode(_orig2048);
  59. byte[] _enc4096 = Base64.encode(_orig4096);
  60. byte[] _enc8192 = Base64.encode(_orig8192);
  61. byte[] _dec1024 = Base64.decode(_enc1024);
  62. byte[] _dec2048 = Base64.decode(_enc2048);
  63. byte[] _dec4096 = Base64.decode(_enc4096);
  64. byte[] _dec8192 = Base64.decode(_enc8192);
  65. if(!Arrays.equals(_orig1024, _dec1024)) {
  66. return new SimpleTestResult(false, "Failed Base64 test");
  67. }
  68. if(!Arrays.equals(_orig2048, _dec2048)) {
  69. return new SimpleTestResult(false, "Failed Base64 test");
  70. }
  71. if(!Arrays.equals(_orig4096, _dec4096)) {
  72. return new SimpleTestResult(false, "Failed Base64 test");
  73. }
  74. if(!Arrays.equals(_orig8192, _dec8192)) {
  75. return new SimpleTestResult(false, "Failed Base64 test");
  76. }
  77. byte[] _orig1025 = new byte[1025];
  78. _r.nextBytes(_orig1025);
  79. byte[] _orig2049 = new byte[2049];
  80. _r.nextBytes(_orig2049);
  81. byte[] _orig4097 = new byte[4097];
  82. _r.nextBytes(_orig4097);
  83. byte[] _orig8193 = new byte[8193];
  84. _r.nextBytes(_orig8193);
  85. byte[] _enc1025 = Base64.encode(_orig1025);
  86. byte[] _enc2049 = Base64.encode(_orig2049);
  87. byte[] _enc4097 = Base64.encode(_orig4097);
  88. byte[] _enc8193 = Base64.encode(_orig8193);
  89. byte[] _dec1025 = Base64.decode(_enc1025);
  90. byte[] _dec2049 = Base64.decode(_enc2049);
  91. byte[] _dec4097 = Base64.decode(_enc4097);
  92. byte[] _dec8193 = Base64.decode(_enc8193);
  93. if(!Arrays.equals(_orig1025, _dec1025)) {
  94. return new SimpleTestResult(false, "Failed Base64 test");
  95. }
  96. if(!Arrays.equals(_orig2049, _dec2049)) {
  97. return new SimpleTestResult(false, "Failed Base64 test");
  98. }
  99. if(!Arrays.equals(_orig4097, _dec4097)) {
  100. return new SimpleTestResult(false, "Failed Base64 test");
  101. }
  102. if(!Arrays.equals(_orig8193, _dec8193)) {
  103. return new SimpleTestResult(false, "Failed Base64 test");
  104. }
  105. return new SimpleTestResult(true, "Passed Base64 test");
  106. }
  107. catch(Exception ex) {
  108. log(ex);
  109. return new SimpleTestResult(false, "Failed Base64 test");
  110. }
  111. }
  112. public TestResult testHex() {
  113. try {
  114. Random _r = new Random();
  115. byte[] _orig1024 = new byte[1024];
  116. _r.nextBytes(_orig1024);
  117. byte[] _orig2048 = new byte[2048];
  118. _r.nextBytes(_orig2048);
  119. byte[] _orig4096 = new byte[4096];
  120. _r.nextBytes(_orig4096);
  121. byte[] _orig8192 = new byte[8192];
  122. _r.nextBytes(_orig8192);
  123. byte[] _enc1024 = Hex.encode(_orig1024);
  124. byte[] _enc2048 = Hex.encode(_orig2048);
  125. byte[] _enc4096 = Hex.encode(_orig4096);
  126. byte[] _enc8192 = Hex.encode(_orig8192);
  127. byte[] _dec1024 = Hex.decode(_enc1024);
  128. byte[] _dec2048 = Hex.decode(_enc2048);
  129. byte[] _dec4096 = Hex.decode(_enc4096);
  130. byte[] _dec8192 = Hex.decode(_enc8192);
  131. if(!Arrays.equals(_orig1024, _dec1024)) {
  132. return new SimpleTestResult(false, "Failed Hex test");
  133. }
  134. if(!Arrays.equals(_orig2048, _dec2048)) {
  135. return new SimpleTestResult(false, "Failed Hex test");
  136. }
  137. if(!Arrays.equals(_orig4096, _dec4096)) {
  138. return new SimpleTestResult(false, "Failed Hex test");
  139. }
  140. if(!Arrays.equals(_orig8192, _dec8192)) {
  141. return new SimpleTestResult(false, "Failed Hex test");
  142. }
  143. byte[] _orig1025 = new byte[1025];
  144. _r.nextBytes(_orig1025);
  145. byte[] _orig2049 = new byte[2049];
  146. _r.nextBytes(_orig2049);
  147. byte[] _orig4097 = new byte[4097];
  148. _r.nextBytes(_orig4097);
  149. byte[] _orig8193 = new byte[8193];
  150. _r.nextBytes(_orig8193);
  151. byte[] _enc1025 = Hex.encode(_orig1025);
  152. byte[] _enc2049 = Hex.encode(_orig2049);
  153. byte[] _enc4097 = Hex.encode(_orig4097);
  154. byte[] _enc8193 = Hex.encode(_orig8193);
  155. byte[] _dec1025 = Hex.decode(_enc1025);
  156. byte[] _dec2049 = Hex.decode(_enc2049);
  157. byte[] _dec4097 = Hex.decode(_enc4097);
  158. byte[] _dec8193 = Hex.decode(_enc8193);
  159. if(!Arrays.equals(_orig1025, _dec1025)) {
  160. return new SimpleTestResult(false, "Failed Hex test");
  161. }
  162. if(!Arrays.equals(_orig2049, _dec2049)) {
  163. return new SimpleTestResult(false, "Failed Hex test");
  164. }
  165. if(!Arrays.equals(_orig4097, _dec4097)) {
  166. return new SimpleTestResult(false, "Failed Hex test");
  167. }
  168. if(!Arrays.equals(_orig8193, _dec8193)) {
  169. return new SimpleTestResult(false, "Failed Hex test");
  170. }
  171. return new SimpleTestResult(true, "Passed Hex test");
  172. }
  173. catch(Exception ex) {
  174. log(ex);
  175. return new SimpleTestResult(false, "Failed Hex test");
  176. }
  177. }
  178. }