首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

加密模式

2013-07-08 
加密方式import java.security.InvalidKeyExceptionimport java.security.MessageDigestimport java.sec

加密方式

import java.security.InvalidKeyException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import javax.crypto.BadPaddingException;import javax.crypto.Cipher;import javax.crypto.IllegalBlockSizeException;import javax.crypto.NoSuchPaddingException;import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Encoder;import com.kingdee.util.Base64Encoder;public class Jiami {        private static final byte[] pwd = { -82, -101, 127, 52, -8, -108, 2, 93 };        public static void main(String[] args) {                /**                 * administrator用户登录,默认密码为空,点修改密码后,写入123,                 * 在传到后台的时候会用encrypt1加密password,用decrypt对密文解密,                 * 之后用encrypt2对ID和pw原文组合的字符串进行加密                 * administrator的FID=00000000-0000-0000-0000-00000000000013B7DE7F                 */                Jiami jiami = new Jiami();                String number = "gaofei04";                String pw = "1234abcd";                String houtai = jiami.encrypt1(number, pw);                System.out.println("后台="+houtai);                String houtaijiemi = jiami.decrypt(number,houtai);                System.out.println("后台解密="+houtaijiemi);                String fid ="00000000-0000-0000-0000-00000000000013B7DE7F";                String zuizhongjiamimingwen = fid+houtaijiemi;                String zuizhongmiwen = jiami.encrypt2(zuizhongjiamimingwen);                System.out.println("最终密文="+zuizhongmiwen);        }        public String encrypt1(String paramString1, String paramString2) {                SecretKeySpec localSecretKeySpec = new SecretKeySpec(pwd, "DES");                Cipher localCipher;                try {                        localCipher = Cipher.getInstance("DES");                        localCipher.init(1, localSecretKeySpec);                        byte[] arrayOfByte = localCipher.doFinal(paramString2.getBytes());                        String str = Base64Encoder.byteArrayToBase64(arrayOfByte);                        return str;                } 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;        }                  /**strSrc=用户FID+pw明文         * @date 2012-5-22下午09:31:49         * @author fans         * @param strSrc         * @return         */        public String encrypt2(String strSrc)           {            String strEncode = null;            byte[] btKey = new byte[strSrc.getBytes().length + 1];            System.arraycopy(strSrc.getBytes(), 0, btKey, 0, strSrc.getBytes().length);            try            {              MessageDigest md = MessageDigest.getInstance("MD5");              md.update(btKey);              byte[] btDigest = md.digest();              BASE64Encoder encoder = new BASE64Encoder();              strEncode = encoder.encode(btDigest);            }            catch (Exception e)            {              e.printStackTrace();            }            return strEncode;          }                  public String decrypt(String paramString1, String paramString2)           {            SecretKeySpec localSecretKeySpec = new SecretKeySpec(pwd, "DES");            try            {              Cipher localCipher = Cipher.getInstance("DES");              localCipher.init(2, localSecretKeySpec);              byte[] arrayOfByte = Base64Encoder.base64ToByteArray(paramString2);              String str = new String(localCipher.doFinal(arrayOfByte));              return str;            }            catch (NoSuchAlgorithmException localNoSuchAlgorithmException)            {                    localNoSuchAlgorithmException.printStackTrace();            }            catch (NoSuchPaddingException localNoSuchPaddingException)            {                    localNoSuchPaddingException.printStackTrace();            }            catch (InvalidKeyException localInvalidKeyException)            {                    localInvalidKeyException.printStackTrace();            }            catch (IllegalStateException localIllegalStateException)            {                    localIllegalStateException.printStackTrace();            }            catch (IllegalBlockSizeException localIllegalBlockSizeException)            {                    localIllegalBlockSizeException.printStackTrace();            }            catch (BadPaddingException localBadPaddingException)            {                    localBadPaddingException.printStackTrace();            }                return null;          }}

?

热点排行