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); } }
// 注册 /* * 注册 [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); } }
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); }
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(); }