private static void CallLogService(string appName, string msg, Guid ClientTransactionId) { //{"clientId":"84239dab-07f1-4ad9-a0d9-35ab0432a8c5","Stamp":1576564602,"Msg":"2019 year Dec","LocalTimeZone":"WT", //"ClientTransactionId":"5f96e6dd-54bf-4625-9c42-962060c9a2a5", "LogServiceInstanceId":"6b12528e-3c8d-4782-9732-40d7e49f39be" } Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; TimeZone localZone = TimeZone.CurrentTimeZone; // Guid ClientTransactionId = Guid.NewGuid(); StringBuilder strB = new StringBuilder(); strB.AppendFormat("\"clientId\":\"84239dab-07f1-4ad9-a0d9-35ab0432a8c5\",\"Stamp\":{0},\"AppName\":\"{1}\"," + "\"Msg\":\"{2}\"," + "\"LocalTimeZone\":\"{3}\"," + "\"ClientTransactionId\":\"{4}\"," + " \"LogServiceInstanceId\":\"{5}\"", unixTimestamp.ToString(), appName, msg, localZone.StandardName, ClientTransactionId.ToString(), Guid.NewGuid().ToString()); strB.Insert(0, "{", 1); strB.Insert(strB.Length, "}", 1); AES256 aes = new AES256(); string cryptedBody = aes.Encrypt(strB.ToString(), PASSWORD); string cryptedAPIKey = aes.Encrypt(API_KEY, PASSWORD); //soap sample starts here HttpWebRequest request = (HttpWebRequest)WebRequest.Create(BASE_URL + DIR_GET_URL + ConvertStringToHex(cryptedAPIKey, Encoding.ASCII)); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = cryptedBody.Length; using (Stream webStream = request.GetRequestStream()) using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII)) { requestWriter.Write(cryptedBody); } try { WebResponse webResponse = request.GetResponse(); using (Stream webStream = webResponse.GetResponseStream() ?? Stream.Null) using (StreamReader responseReader = new StreamReader(webStream)) { string response = responseReader.ReadToEnd(); Console.Out.WriteLine(response); } } catch (Exception e) { Console.Out.WriteLine("-----------------"); Console.Out.WriteLine(e.Message); } }
public void EncryptAndDecryptString() { string encrypted = AES256.Encrypt("test", "password"); string decrypted = AES256.Decrypt(encrypted, "password"); Assert.AreEqual(decrypted, "test"); }
public GenerateTokenOut GenerateToken(GenerateTokenIn input) { var output = new GenerateTokenOut(); AES256 securityAES256 = new AES256(); var expireMinutes = TokenExpireMinutes; var symmetricKey = Convert.FromBase64String(TokenSecret); var tokenHandler = new JwtSecurityTokenHandler(); var now = DateTime.UtcNow; var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new[] { new Claim("sessionId", input.sessionId), new Claim("usrID", input.usrID.ToString()) }), Expires = now.AddMinutes(expireMinutes), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey), SecurityAlgorithms.HmacSha256Signature) }; var stoken = tokenHandler.CreateToken(tokenDescriptor); var token = tokenHandler.WriteToken(stoken); output.token = securityAES256.Encrypt(token); return(output); }
static void Main() { string teste = "{ola:\"mundo\"}"; byte[] testeB = Encoding.UTF8.GetBytes(teste); AES256 aes = new AES256(); Console.WriteLine(Encoding.UTF8.GetString(aes.Decrypt(aes.Encrypt(testeB)))); }
public void EncryptAndDecryptExactly16chars() { string encrypted = AES256.Encrypt( "0123456789abcdef", "password" ); string decrypted = AES256.Decrypt(encrypted, "password"); Assert.AreEqual( decrypted, "0123456789abcdef" ); }
public void EncryptAndDecryptLargeString() { string encrypted = AES256.Encrypt( "test string that is longer than 16 characters", "password" ); string decrypted = AES256.Decrypt(encrypted, "password"); Assert.AreEqual( decrypted, "test string that is longer than 16 characters" ); }
public void EncryptAndDecryptCheckPadding() { string encrypted = AES256.Encrypt("test", "password"); byte[] decrypted = AES256.DecryptToByteArray( encrypted, Encoding.UTF8.GetBytes("password") ); Assert.That( decrypted, Is.EqualTo( new byte[] { 116, 101, 115, 116 } ) ); }
public void AESEncrypt() { var sample = "something"; string key = "z,mv--342krnsdrfJDSf33dq2423nsda"; string iv = "12325346457462343654867843523421"; var aes = new AES256(key, iv); var encryptedStr = aes.Encrypt(sample); var decryptedStr = aes.Decrypt(encryptedStr); var len1 = sample.Length; var len2 = decryptedStr.Length; True(sample.Length == decryptedStr.Length, "not match, dec:" + decryptedStr + " len1:" + len1 + " len2:" + len2); }
/// <summary> /// 日志记录到控制中心 /// </summary> /// <param name="projectName">项目名称</param> /// <param name="projectVersion">项目版本</param> /// <param name="level">日志等级</param> /// <param name="msg">消息内容</param> /// <returns></returns> public async Task Log(string projectName, string projectVersion, string level, string msg) { if (!ViewModelLocator.Instance.UserPreferences.IsEnableControlServer) { return; } //增加一个日志 string add_info = ViewModelLocator.Instance.UserPreferences.ControlServerUri + "/OSPServer/rest/dict/savedict"; JObject jObj = new JObject(); jObj["DCT_ID"] = "LOG_INFO"; var jArr = new JArray(); JObject jItem = new JObject(); jItem["F_GUID"] = NewGuid(); jItem["MACHINENAME"] = aboutInfoService.GetMachineName(); jItem["PROCESSNAME"] = projectName; jItem["PROCESSVERSION"] = projectVersion; jItem["LOGLEVEL"] = level; jItem["LOGCONTENT"] = aes256.Encrypt(msg, "ABCDE"); jArr.Add(jItem); jObj["InsertPool"] = jArr; //记录日志,以便排查错误 Logger.Debug("Log() 增加日志信息 请求内容为:" + jObj.ToString(), logger); var result = await add_info.PostJsonAsync(jObj).ReceiveJson <JObject>(); if ((int)result["code"] != 1) { Logger.Debug("增加日志信息失败!" + jObj.ToString(), logger); return; } //记录日志,以便排查错误 Logger.Debug("Log() 增加日志信息 请求结果为:" + result.ToString(), logger); }
public void AESEncryptBytes() { var sampleBytes = new byte[1024]; var rnd = new System.Random(); rnd.NextBytes(sampleBytes); string key = "z,mv--342krnsdrfJDSf33dq2423nsda"; string iv = "12325346457462343654867843523421"; var aes = new AES256(key, iv); var encryptedBytes = aes.Encrypt(sampleBytes); var decryptedBytes = aes.Decrypt(encryptedBytes); var bytesLen1 = sampleBytes.Length; var bytesLen2 = decryptedBytes.Length; True(sampleBytes.Length == decryptedBytes.Length, "not match," + " bytesLen1:" + bytesLen1 + " bytesLen2:" + bytesLen2); True(sampleBytes.SequenceEqual(decryptedBytes), "not match"); }