2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

常用加解密工具類(MD5、SHA、DES、AES、RSA)

 深秋微涼3 2016-02-11


  解密工具類,實現(xiàn)了常用的加解密類。包括單向加密:MD5、SHA;對稱加密:DES、AES;非對稱加密:RSA

  完整代碼見:https://git.oschina.net/bayern.com/SecureUtils.git  同時提供ant打包腳本。

  下面展示部分關(guān)鍵代碼

MD5 單向加密:    /**     * 返回MD5單向加密后的十六進制字符串     * @param data     * @return     * @throws Exception     */    public String getEncryptForHex(byte[] data) throws Exception    {        byte[] digestData = encrypt(data);        StringBuffer hex = new StringBuffer();        for(int i = 0; i < digestdata.length;="" i++)=""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  int="" h="((int)digestData[i])" &="" 0xff;=""  =""  =""  =""  =""  =""  if(h="">< 16)=""  =""  =""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  =""  =""  hex.append('0');=""  =""  =""  =""  =""  =""  }=""  =""  =""  =""  =""  =""  hex.append(integer.tohexstring(h));=""  =""  =""  =""  }=""  =""  =""  =""  return="" hex.tostring();=""  =""  }="" des="" 對稱加密類:=""  =""  @override=""  =""  public="" byte[]="" encrypt(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  if(secretkey="=" null="" ||="" ''.equals(secretkey))=""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  throw="" new="" exception('scretkey="" need="" to="" exists');=""  =""  =""  =""  }=""  =""  =""  =""  =""  =""  =""  =""  secretkey="" md5key="getKey(secretKey);"  =""  =""  =""  cipher="" cipher="Cipher.getInstance(ALGORITHM);"  =""  =""  =""  cipher.init(cipher.encrypt_mode,="" md5key);=""  =""  =""  =""  return="" cipher.dofinal(data);=""  =""  }=""  =""  @override=""  =""  public="" byte[]="" decrypt(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  if(secretkey="=" null="" ||="" ''.equals(secretkey))=""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  throw="" new="" exception('scretkey="" need="" to="" exists');=""  =""  =""  =""  }=""  =""  =""  =""  =""  =""  =""  =""  secretkey="" md5key="getKey(secretKey);"  =""  =""  =""  cipher="" cipher="Cipher.getInstance(ALGORITHM);"  =""  =""  =""  cipher.init(cipher.decrypt_mode,="" md5key);=""  =""  =""  =""  return="" cipher.dofinal(data);=""  =""  }="" rsa="" 非對稱加密。私鑰加密="" &="" 私鑰解密="" &="" 私鑰簽名=""  =""  @override=""  =""  public="" byte[]="" encrypt(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  privatekey="" rsaprivatekey="getRSAPrivateKey();"  =""  =""  =""  cipher="" cipher="Cipher.getInstance(ALGORITHM);"  =""  =""  =""  cipher.init(cipher.encrypt_mode,="" rsaprivatekey);=""  =""  =""  =""  return="" cipher.dofinal(data);=""  =""  }=""  =""  @override=""  =""  public="" byte[]="" decrypt(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  privatekey="" rsaprivatekey="getRSAPrivateKey();"  =""  =""  =""  cipher="" cipher="Cipher.getInstance(ALGORITHM);"  =""  =""  =""  cipher.init(cipher.decrypt_mode,="" rsaprivatekey);=""  =""  =""  =""  return="" cipher.update(data);=""  =""  }=""  =""  =""  =""  /**=""  =""  ="" *="" 使用私鑰="" 對數(shù)據(jù)進行簽名=""  =""  ="" *="" @param="" data=""  =""  ="" *="" @return=""  =""  ="" *="" @throws="" exception=""  =""  ="" */=""  =""  public="" string="" sign(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  privatekey="" rsaprivatekey="getRSAPrivateKey();"  =""  =""  =""  signature="" signature="Signature.getInstance(SIGN_ALGORITHM);"  =""  =""  =""  signature.initsign(rsaprivatekey);=""  =""  =""  =""  signature.update(data);=""  =""  =""  =""  return="" encoder(signature.sign());=""  =""  }="" rsa="" 非對稱加密。公鑰加密="" &="" 公鑰解密="" &="" 公鑰校驗簽名=""  =""  @override=""  =""  public="" byte[]="" encrypt(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  if(publickey="=" null="" ||="" ''.equals(publickey))=""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  throw="" new="" exception('publickey="" is="" need="" exists');=""  =""  =""  =""  }=""  =""  =""  =""  =""  =""  =""  =""  publickey="" rsapublickey="getRSAPublicKey(publicKey);"  =""  =""  =""  cipher="" cipher="Cipher.getInstance(ALGORITHM);"  =""  =""  =""  cipher.init(cipher.encrypt_mode,="" rsapublickey);=""  =""  =""  =""  return="" cipher.dofinal(data);=""  =""  }=""  =""  @override=""  =""  public="" byte[]="" decrypt(byte[]="" data)="" throws="" exception=""  =""  {=""  =""  =""  =""  if(publickey="=" null="" ||="" ''.equals(publickey))=""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  throw="" new="" exception('publickey="" is="" need="" exists');=""  =""  =""  =""  }=""  =""  =""  =""  =""  =""  =""  =""  publickey="" rsapublickey="getRSAPublicKey(publicKey);"  =""  =""  =""  cipher="" cipher="Cipher.getInstance(ALGORITHM);"  =""  =""  =""  cipher.init(cipher.decrypt_mode,="" rsapublickey);=""  =""  =""  =""  return="" cipher.dofinal(data);=""  =""  }=""  =""  /**=""  =""  ="" *="" 使用公鑰校驗簽名=""  =""  ="" *="" @param="" data=""  =""  ="" *="" @param="" sign=""  =""  ="" *="" @return=""  =""  ="" *="" @throws="" exception=""  =""  ="" */=""  =""  public="" boolean="" verifysign(byte[]="" data,="" string="" sign)="" throws="" exception=""  =""  {=""  =""  =""  =""  if(publickey="=" null="" ||="" ''.equals(publickey))=""  =""  =""  =""  {=""  =""  =""  =""  =""  =""  throw="" new="" exception('publickey="" is="" need="" exists');=""  =""  =""  =""  }=""  =""  =""  =""  =""  =""  =""  =""  publickey="" rsapublickey="getRSAPublicKey(publicKey);"  =""  =""  =""  signature="" signature="Signature.getInstance(SIGN_ALGORITHM);"  =""  =""  =""  signature.initverify(rsapublickey);=""  =""  =""  =""  signature.update(data);=""  =""  =""  =""  return="" signature.verify(decoder(sign));=""  ="">

  via:phpxs.com


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多