1 /**
  2  *
  3  * RSA组件
  4  * @fileOverView 基础方法
  5  * @author  <a href="mailto:zhang.gd@foxmail.com">Zhang Guangda</a>
  6  * @date    2012-10-25
  7  */
  8 define(["plugin/rsa/Barrett", "plugin/rsa/BigInt", "plugin/rsa/RSA"], function() {
  9 
 10 	/**
 11 	 * RSA
 12 	 * @class RSA方法
 13 	 */
 14 	$we.rsa = {
 15 		/**
 16 		 * 公钥
 17 		 * @type {String}
 18 		 */
 19 		publicKey: "C99F5B2FA7880E5224BCA8B6E6EAAF03CF0AE7CC74D881B2C532C0346B743911",
 20 		/**
 21 		 * 最大的数位
 22 		 * @type {Number}
 23 		 */
 24 		maxDigit: 131, //131 => n的十六进制位数/2+3
 25 		/**
 26 		 * 加密用自然常数e
 27 		 * @type {String}
 28 		 */
 29 		encryptExp: "10001", //10001 => e的十六进制
 30 		/**
 31 		 * 加密
 32 		 * @param  {String} str 需要加密的字符串
 33 		 * @return {String}     加密完成的字符串
 34 		 */
 35 		encrypt: function(str) {
 36 			if (typeof encryptedString != "function") return str;
 37 			return encryptedString(key, str); //不支持汉字
 38 		}
 39 	};
 40 
 41 	setMaxDigits($we.rsa.maxDigit);
 42 	var key = new RSAKeyPair($we.rsa.encryptExp, '', $we.rsa.publicKey);
 43 
 44 	return $we.rsa;
 45 });