package        com.example.decript;      


              


       import        java.io.UnsupportedEncodingException;      


       import        java.security.InvalidKeyException;      


       import        java.security.MessageDigest;      


       import        java.security.NoSuchAlgorithmException;      


       import        java.security.SecureRandom;      


       import        javax.crypto.BadPaddingException;      


       import        javax.crypto.Cipher;      


       import        javax.crypto.IllegalBlockSizeException;      


       import        javax.crypto.KeyGenerator;      


       import        javax.crypto.NoSuchPaddingException;      


       import        javax.crypto.SecretKey;      


       import        javax.crypto.spec.SecretKeySpec;      


              


       public        class        DecriptTest {      


              


              public        static        String SHA1(String decript) {      


              try        {      


              MessageDigest digest = java.security.MessageDigest      


              .getInstance(       "SHA-1"       );      


              digest.update(decript.getBytes());      


              byte        messageDigest[] = digest.digest();      


              // Create Hex String      


              StringBuffer hexString =        new        StringBuffer();      


              // 字节数组转换为 十六进制 数      


              for        (       int        i =        0       ; i < messageDigest.length; i++) {      


              String shaHex = Integer.toHexString(messageDigest[i] &        0xFF       );      


              if        (shaHex.length() <        2       ) {      


              hexString.append(       0       );      


              }      


              hexString.append(shaHex);      


              }      


              return        hexString.toString();      


              


              }        catch        (NoSuchAlgorithmException e) {      


              e.printStackTrace();      


              }      


              return        ""       ;      


              }      


              


              public        static        String SHA(String decript) {      


              try        {      


              MessageDigest digest = java.security.MessageDigest      


              .getInstance(       "SHA"       );      


              digest.update(decript.getBytes());      


              byte        messageDigest[] = digest.digest();      


              // Create Hex String      


              StringBuffer hexString =        new        StringBuffer();      


              // 字节数组转换为 十六进制 数      


              for        (       int        i =        0       ; i < messageDigest.length; i++) {      


              String shaHex = Integer.toHexString(messageDigest[i] &        0xFF       );      


              if        (shaHex.length() <        2       ) {      


              hexString.append(       0       );      


              }      


              hexString.append(shaHex);      


              }      


              return        hexString.toString();      


              


              }        catch        (NoSuchAlgorithmException e) {      


              e.printStackTrace();      


              }      


              return        ""       ;      


              }      


              


              public        static        String MD5(String input) {      


              try        {      


              // 获得MD5摘要算法的 MessageDigest 对象      


              MessageDigest mdInst = MessageDigest.getInstance(       "MD5"       );      


              // 使用指定的字节更新摘要      


              mdInst.update(input.getBytes());      


              // 获得密文      


              byte       [] md = mdInst.digest();      


              // 把密文转换成十六进制的字符串形式      


              StringBuffer hexString =        new        StringBuffer();      


              // 字节数组转换为 十六进制 数      


              for        (       int        i =        0       ; i < md.length; i++) {      


              String shaHex = Integer.toHexString(md[i] &        0xFF       );      


              if        (shaHex.length() <        2       ) {      


              hexString.append(       0       );      


              }      


              hexString.append(shaHex);      


              }      


              return        hexString.toString();      


              }        catch        (NoSuchAlgorithmException e) {      


              e.printStackTrace();      


              }      


              return        ""       ;      


              }      


              


              /**      


              * 加密      


              *      


              * @param content      


              *            需要加密的内容      


              * @param password      


              *            加密密码      


              * @return      


              */      


              public        static        byte       [] encryptAES(String content, String password) {      


              try        {      


              KeyGenerator kgen = KeyGenerator.getInstance(       "AES"       );      


              kgen.init(       128       ,        new        SecureRandom(password.getBytes()));      


              SecretKey secretKey = kgen.generateKey();      


              byte       [] enCodeFormat = secretKey.getEncoded();      


              SecretKeySpec key =        new        SecretKeySpec(enCodeFormat,        "AES"       );      


              Cipher cipher = Cipher.getInstance(       "AES"       );       // 创建密码器      


              byte       [] byteContent = content.getBytes(       "utf-8"       );      


              cipher.init(Cipher.ENCRYPT_MODE, key);       // 初始化      


              byte       [] result = cipher.doFinal(byteContent);      


              return        result;        // 加密      


              }        catch        (NoSuchAlgorithmException e) {      


              e.printStackTrace();      


              }        catch        (NoSuchPaddingException e) {      


              e.printStackTrace();      


              }        catch        (InvalidKeyException e) {      


              e.printStackTrace();      


              }        catch        (UnsupportedEncodingException e) {      


              e.printStackTrace();      


              }        catch        (IllegalBlockSizeException e) {      


              e.printStackTrace();      


              }        catch        (BadPaddingException e) {      


              e.printStackTrace();      


              }      


              return        null       ;      


              }      


              


              /**      


              * 解密      


              *      


              * @param content      


              *            待解密内容      


              * @param password      


              *            解密密钥      


              * @return      


              */      


              public        static        byte       [] decryptAES(       byte       [] content, String password) {      


              try        {      


              KeyGenerator kgen = KeyGenerator.getInstance(       "AES"       );      


              kgen.init(       128       ,        new        SecureRandom(password.getBytes()));      


              SecretKey secretKey = kgen.generateKey();      


              byte       [] enCodeFormat = secretKey.getEncoded();      


              SecretKeySpec key =        new        SecretKeySpec(enCodeFormat,        "AES"       );      


              Cipher cipher = Cipher.getInstance(       "AES"       );       // 创建密码器      


              cipher.init(Cipher.DECRYPT_MODE, key);       // 初始化      


              byte       [] result = cipher.doFinal(content);      


              return        result;        // 加密      


              }        catch        (NoSuchAlgorithmException e) {      


              e.printStackTrace();      


              }        catch        (NoSuchPaddingException e) {      


              e.printStackTrace();      


              }        catch        (InvalidKeyException e) {      


              e.printStackTrace();      


              }        catch        (IllegalBlockSizeException e) {      


              e.printStackTrace();      


              }        catch        (BadPaddingException e) {      


              e.printStackTrace();      


              }      


              return        null       ;      


              }      


              


              /**      


              * BASE64解密      


              *      


              * @param key      


              * @return      


              * @throws Exception      


              */      


              public        static        String decryptBASE64(String key) {      


              


              return        ""       ;      


              }      


              


              /**      


              * BASE64加密      


              *      


              * @param key      


              * @return      


              * @throws Exception      


              */      


              public        static        String encryptBASE64(String key) {      


              


              return        ""       ;      


              }      


       
      


}