/// <summary> /// 解密授权码 /// </summary> /// <param name="sSource">授权码</param> /// <param name="sPrivateKey">私钥</param> /// <returns>授权信息</returns> private static AuthorizationCode Decrypt(string sSource, string sPrivateKey) { var authorizationCode = new AuthorizationCode(); var code = RSACryptoService.DecryptString(sSource, sPrivateKey); authorizationCode.Mac = code.Substring(14, 12); authorizationCode.Category = Convert.ToInt32(code.Substring(36, 1)); DateTime expireTime; DateTime.TryParse(code.Substring(26, 10), out expireTime); authorizationCode.ExpireTime = expireTime; return(authorizationCode); }
/// <summary> /// 解密授权码 /// </summary> /// <param name="sSource">授权码</param> /// <param name="publicKey">公钥</param> /// <returns>授权信息</returns> public static AuthorizationCode Decrypt(string sSource, string publicKey) { var authorizationCode = new AuthorizationCode(); var code = RSACryptoService.DecryptString(sSource, publicKey); string[] authorizationCodes = code.Split(new string[] { Flag }, StringSplitOptions.RemoveEmptyEntries); if (authorizationCodes.Length < 5) { return(authorizationCode); } authorizationCode.CheckCode = authorizationCodes[1]; authorizationCode.Category = Convert.ToInt16(authorizationCodes[3]); DateTime expireTime; DateTime.TryParse(authorizationCodes[2], out expireTime); authorizationCode.ExpireTime = expireTime; return(authorizationCode); }