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

应用

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

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

热门文章推荐

请稍候...

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

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