·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3下用Crypto做的DES加密算法与解密算法源代码

时间:2013-08-27 14:14cuplayer.com
[AS3]as3下用Crypto做的DES加密算法与解密算法

Crypto库 http://code.google.com/p/as3crypto/

  1. package 
  2.     import com.hurlant.crypto.Crypto; 
  3.     import com.hurlant.util.Hex;     
  4.     import com.hurlant.crypto.hash.HMAC; 
  5.     import com.hurlant.crypto.hash.IHash; 
  6.     import com.hurlant.crypto.hash.MD5; 
  7.     import com.hurlant.crypto.hash.SHA1; 
  8.     import com.hurlant.crypto.hash.SHA224; 
  9.     import com.hurlant.crypto.hash.SHA256; 
  10.     import com.hurlant.crypto.prng.ARC4; 
  11.     import com.hurlant.crypto.symmetric.AESKey; 
  12.     import com.hurlant.crypto.symmetric.BlowFishKey; 
  13.     import com.hurlant.crypto.symmetric.CBCMode; 
  14.     import com.hurlant.crypto.symmetric.CFB8Mode; 
  15.     import com.hurlant.crypto.symmetric.CFBMode; 
  16.     import com.hurlant.crypto.symmetric.CTRMode; 
  17.     import com.hurlant.crypto.symmetric.DESKey; 
  18.     import com.hurlant.crypto.symmetric.ECBMode; 
  19.     import com.hurlant.crypto.symmetric.ICipher; 
  20.     import com.hurlant.crypto.symmetric.IMode; 
  21.     import com.hurlant.crypto.symmetric.IPad; 
  22.     import com.hurlant.crypto.symmetric.ISymmetricKey; 
  23.     import com.hurlant.crypto.symmetric.IVMode; 
  24.     import com.hurlant.crypto.symmetric.NullPad; 
  25.     import com.hurlant.crypto.symmetric.OFBMode; 
  26.     import com.hurlant.crypto.symmetric.PKCS5; 
  27.     import com.hurlant.crypto.symmetric.SimpleIVMode; 
  28.     import com.hurlant.crypto.symmetric.TripleDESKey; 
  29.     import com.hurlant.crypto.symmetric.XTeaKey; 
  30.     import flash.utils.ByteArray; 
  31.     import com.hurlant.crypto.rsa.RSAKey; 
  32.     import com.hurlant.util.Base64; 
  33.  
  34.  public class BlowFish 
  35.  { 
  36.  /** 
  37.  * Encrypts a string. 
  38.  * @param text  The text string to encrypt. 
  39.  * @param key  A cipher key to encrypt the text with. 
  40.  */ 
  41.  
  42.  
  43.  /** 
  44.  * Decrypts an encrypted string. 
  45.  * @param text  The text string to decrypt. 
  46.  * @param key  The key used while originally encrypting the text. 
  47.  */ 
  48.   static public function encrypt( s :String, k :String ) :String  
  49.  { 
  50.  
  51.     var key  :ByteArray = Hex.toArray(k); 
  52.             var data :ByteArray = Hex.toArray(Hex.fromString(s)); 
  53.  
  54.             var pad    :IPad = new NullPad(); 
  55.             var cipher :ICipher = Crypto.getCipher("blowfish-cbc", key, pad); 
  56.  
  57.             pad.setBlockSize(cipher.getBlockSize()); 
  58.             cipher.encrypt(data); 
  59.  
  60.             var result :String = Hex.fromArray(data); 
  61.  
  62.             var ivmode :IVMode = cipher as IVMode; 
  63.             var iv     :String = Hex.fromArray(ivmode.IV); 
  64.  
  65.             return  Base64.encodeByteArray(Hex.toArray(Hex.fromArray(ivmode.IV) + Hex.fromArray(data))); 
  66.  
  67.  } 
  68.  
  69.  } 

应用

  1. import BlowFish; 
  2. var $key:String = "12345678"
  3. var $encryption:String = BlowFish.encrypt("cuplayer.com", $key); 
  4. trace( $encryption ); 

Crypto做的DES加密算法与解密算法

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器