public string Encode(OwnerToken token)
        {
            var ownerTypeBys  = NetBitConverter.GetBytes(token.OwnerType);
            var ownerIdBys    = NetBitConverter.GetBytes(token.OwnerId);
            var expireTimeBys = GetBytes(token.ExpireTime);


            var lstLen  = 1 + ownerTypeBys.Length + ownerIdBys.Length + expireTimeBys.Length;
            var mdatLst = new List <byte>(lstLen);

            mdatLst.Add(CurrentVersion);
            mdatLst.AddRange(ownerTypeBys);
            mdatLst.AddRange(ownerIdBys);
            mdatLst.AddRange(expireTimeBys);
            var mdatBys = mdatLst.ToArray();

            //签名
            var signBys = ArrayUtil.Addition(_appSecretBytes, mdatBys);
            var hashBys = Sha1(signBys);

            //编码成字符串
            var encBys = ArrayUtil.Addition(hashBys, mdatBys);

            return(_urlDataCodec.Encode(encBys));
        }
        public string Encode(FileToken token)
        {
            var pseudoIdBys       = NetBitConverter.GetBytes(token.PseudoId);
            var fileIdBys         = NetBitConverter.GetBytes(token.FileId);
            var ownerIdBys        = NetBitConverter.GetBytes(token.FileOwnerId);
            var mimeBys           = NetBitConverter.GetBytes(token.MimeId);
            var expireTimeBys     = GetBytes(token.ExpireTime);
            var fileCreateTimeBys = GetBytes(token.FileCreateTime);

            var lstLen  = 1 + pseudoIdBys.Length + fileIdBys.Length + ownerIdBys.Length + mimeBys.Length + expireTimeBys.Length + fileCreateTimeBys.Length;
            var mdatLst = new List <byte>(lstLen);

            mdatLst.Add(CurrentVersion);
            mdatLst.AddRange(pseudoIdBys);
            mdatLst.AddRange(fileIdBys);
            mdatLst.AddRange(ownerIdBys);
            mdatLst.AddRange(mimeBys);
            mdatLst.AddRange(expireTimeBys);
            mdatLst.AddRange(fileCreateTimeBys);

            var mdatBys = mdatLst.ToArray();

            //签名
            var signBys = ArrayUtil.Addition(_appSecretBytes, mdatBys);
            var hashBys = Md5(signBys);

            //编码成字符串
            var encBys = ArrayUtil.Addition(hashBys, mdatBys);

            return(_urlDataCodec.Encode(encBys));
        }
 public string Encode(byte[] data)
 {
     return(_codecV2.Encode(data));
 }