Example #1
0
 public static bool LoginByPWD(String email, string pwd, out string tokenStr, out User user)
 {
     user = UserService.GetUser(email);
     if (user != null)
     {
         string temp = SHAEncrypt_Helper.Hash256Encrypt(pwd + user.Salt);
         if (temp.Equals(user.Pwd))
         {
             long  tokenid = SnowFlake_Net.GenerateSnowFlakeID();
             var   token   = TokenSerivce.GenerateToken(tokenid);
             Token myToken = new Token
             {
                 TokenId     = SnowFlake_Net.GenerateSnowFlakeID(),
                 UserId      = user.UserId,
                 Email       = user.Email,
                 TokenStr    = token,
                 Type        = 0,
                 CreatedTime = DateTime.Now
             };
             TokenSerivce.AddToken(myToken);
             tokenStr = myToken.TokenStr;
             return(true);
         }
         else
         {
             tokenStr = "";
             return(false);
         }
     }
     else
     {
         tokenStr = "";
         return(false);
     }
 }
Example #2
0
        // 注册

        /*
         * 注册 [email protected] userId = "5368c1aa99c37b029d000001"
         * 添加 在博客上添加一篇欢迎note, note1 5368c1b919807a6f95000000
         *
         * 将nk1(只读), nk2(可写) 分享给该用户
         * 将note1 复制到用户的生活nk上
         */
        // 1. 添加用户
        // 2. 将leanote共享给我
        // [ok]
        public static bool Register(string email, string pwd, long fromUserId, out string Msg)
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(pwd) || pwd.Length < 6)
            {
                Msg = "参数错误";
                return(false);
            }
            if (UserService.IsExistsUser(email))
            {
                Msg = "userHasBeenRegistered-" + email;
                return(false);
            }
            //产生一个盐用于保存密码
            string salt = RandomTool.CreatSafeSalt();
            //对用户密码做哈希运算
            string genPass = SHAEncrypt_Helper.Hash256Encrypt(pwd + salt);

            if (string.IsNullOrEmpty(genPass))
            {
                Msg = "密码处理过程出现错误";
                return(false);
            }
            User user = new User()
            {
                UserId     = SnowFlake_Net.GenerateSnowFlakeID(),
                Email      = email,
                Username   = email,
                Pwd        = genPass,
                Salt       = salt,
                FromUserId = fromUserId,
                Usn        = 1
            };

            if (Register(user))
            {
                Msg = "注册成功";
                return(true);
            }
            else
            {
                Msg = "注册失败";
                return(false);
            }
        }
Example #3
0
        public void HashEncryptTest()
        {
            Console.WriteLine(DateTime.Now);
            int    i = 0;
            string x = SHAEncrypt_Helper.Hash256Encrypt("wKvbMYSvdnqXZAUq" + "QuMF3qJs4WrLJPB24bEzdLUlcxik6dDa");

            for (i = 0; i < 100000; i++)
            {
                x = SHAEncrypt_Helper.Hash256Encrypt(x);
            }
            Console.WriteLine("计算数量=" + i);
            Console.WriteLine(DateTime.Now);
            string c = SHAEncrypt_Helper.Hash256Encrypt("wKvbMYSvdnqXZAUq" + "QuMF3qJs4WrLJPB24bEzdLUlcxik6dDa");

            Console.WriteLine(c);
            c = SHAEncrypt_Helper.Hash1Encrypt("sssss");
            Console.WriteLine(c);
            c = SHAEncrypt_Helper.MD5Encrypt("sssss");
            Console.WriteLine(c);
        }
Example #4
0
        public static JWT GetJWT(long tokenId, string userNmae, long userId, string group, long exp = 31536000)
        {
            JWT_Header header = new JWT_Header()
            {
                alg = "sha1"
            };
            JWT_Payload payload = new JWT_Payload
            {
                tokenId   = tokenId,
                iss       = "localhost",
                username  = userNmae,
                userId    = userId,
                group     = group,
                startTime = UnixTimeHelper.GetTimeStampInLong(),
                exp       = exp,
                random    = RandomTool.CreatSafeNum(8)
            };
            StringBuilder message = new StringBuilder();

            message.Append(header.alg);
            message.Append(payload.tokenId);
            message.Append(payload.iss);
            message.Append(payload.username);
            message.Append(payload.userId);
            message.Append(payload.group);
            message.Append(payload.startTime);
            message.Append(payload.exp);
            message.Append(payload.random);
            string password  = "";
            string signature = SHAEncrypt_Helper.Hash1Encrypt(message + password);
            JWT    jWT       = new JWT()
            {
                Header    = header,
                Payload   = payload,
                Signature = signature
            };

            return(jWT);
        }
        private async Task GetHttpWebRequestForAnYaAsync(string type)
        {
            string url = "";

            if (type.Equals("少女映画"))
            {
                url = "https://api.r10086.com:8443/少女映画.php?password=20";
            }
            else
            {
                url = $"https://api.r10086.com:8443/" + type + ".php";
            }
            //建立请求
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            //添加Referer信息
            request.Headers.Add(HttpRequestHeader.Referer, "http://www.bz08.cn/");
            //伪装成谷歌浏览器
            //request.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36");
            request.Headers.Add(HttpRequestHeader.UserAgent, "I am a cute web crawler");
            //添加cookie认证信息
            Cookie cookie = new Cookie("PHPSESSID", "s9gajue8h7plf7n5ab8fehiuoq");

            cookie.Domain = "api.r10086.com";
            if (request.CookieContainer == null)
            {
                request.CookieContainer = new CookieContainer();
            }
            request.CookieContainer.Add(cookie);
            //发送请求获取Http响应
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            //HttpWebResponse response = (HttpWebResponse)(await request.GetResponseAsync().ConfigureAwait(false));

            var originalString = response.ResponseUri.OriginalString;

            Console.WriteLine(originalString);
            //获取响应流
            Stream receiveStream = response.GetResponseStream();
            //获取响应流的长度
            int length = (int)response.ContentLength;
            //读取到内存
            MemoryStream stmMemory = new MemoryStream();

            byte[] buffer1 = new byte[length];
            int    i;

            //将字节逐个放入到Byte 中
            while ((i = receiveStream.Read(buffer1, 0, buffer1.Length)) > 0)
            {
                stmMemory.Write(buffer1, 0, i);
            }

            //写入磁盘
            string name = System.IO.Path.GetFileName(originalString);

            byte[] imageBytes = stmMemory.ToArray();
            string fileSHA1   = SHAEncrypt_Helper.Hash1Encrypt(imageBytes);

            //上传到又拍云
            if (!RandomImageService.Exist(type, fileSHA1))
            {
                upyun.writeFile($"/upload/{SHAEncrypt_Helper.MD5Encrypt(type)}/{fileSHA1}{Path.GetExtension(name)}", imageBytes, true);
                RandomImage randomImage = new RandomImage()
                {
                    RandomImageId = SnowFlake_Net.GenerateSnowFlakeID(),
                    TypeName      = type,
                    TypeNameMD5   = SHAEncrypt_Helper.MD5Encrypt(type),
                    TypeNameSHA1  = SHAEncrypt_Helper.Hash1Encrypt(type),
                    FileName      = name,
                    FileNameMD5   = SHAEncrypt_Helper.MD5Encrypt(name),
                    FileNameSHA1  = SHAEncrypt_Helper.Hash1Encrypt(name),
                    FileSHA1      = fileSHA1,
                    Sex           = false,
                };
                //记录到数据库
                await RandomImageService.InsertImageAsync(randomImage).ConfigureAwait(false);
            }

            //name = $"{dir}{dsc}upload{dsc}{type}{dsc}{name}";
            //if (!Directory.Exists($"{dir}{dsc}upload{dsc}{type}"))
            //{
            //    Directory.CreateDirectory($"{dir}{dsc}upload{dsc}{type}");
            //}
            //if (!System.IO.File.Exists(name))
            //{
            //    FileStream file = new FileStream(name, FileMode.Create, FileAccess.ReadWrite);
            //    file.Write(stmMemory.ToArray());
            //    file.Flush();
            //    file.Close();
            //}
            //FileStream file = new FileStream("1.jpg",FileMode.Create, FileAccess.ReadWrite);
            //关闭流
            stmMemory.Close();
            receiveStream.Close();
            response.Close();
        }