public void WriteData() { BinaryFormatter serializer = new BinaryFormatter(); var temp = new MemoryStream(); serializer.Serialize(temp, _files); int serializedSpaceBytes = (int) temp.Length; MemoryStream ms = new MemoryStream(); using (var writer = new BinaryWriter(ms)) { writer.Write(_maxSizeBytes); writer.Write(_usedSizeBytes); writer.Write(serializedSpaceBytes); foreach (byte b in temp.ToArray()) { writer.Write(b); } Random r = new Random(); for (int i = _usedSizeBytes; i < _maxSizeBytes; ++i) { writer.Write((byte) r.Next(0, 255)); } } if (_password != null) ms = new MemoryStream(SymmetricCrypt.Aes256Encrypt(ms.ToArray(), _password)); File.WriteAllBytes(_filepath, ms.ToArray()); }
private void ReadData() { MemoryStream stream = new MemoryStream(File.ReadAllBytes(_filepath)); if (_password != null) { stream = new MemoryStream(SymmetricCrypt.Aes256Decrypt(stream.ToArray(), _password)); } using (BinaryReader br = new BinaryReader(stream)) { _maxSizeBytes = br.ReadInt32(); _usedSizeBytes = br.ReadInt32(); int serializedSizeBytes = br.ReadInt32(); byte[] bytes = br.ReadBytes(serializedSizeBytes); using (var memoryStream = new MemoryStream(bytes)) { var deserializer = new BinaryFormatter(); _files = (List<RepoFileInfo>) deserializer.Deserialize(memoryStream); } foreach (RepoFileInfo repoFileInfo in _files) { _filenames.Add(repoFileInfo.GetFilename()); } } }
/// <summary> /// 解密数据 /// </summary> /// <param name="buffer">要解密的数据</param> /// <returns>解密后的数据</returns> internal static byte[] DecryptData(byte[] buffer) { using (var sc = new SymmetricCrypt(CryptType.Aes)) { return(sc.Decrypt(buffer, Key, Iv)); } }
public AuthenticationService(IContext context, IMailSender sender) { _context = context; _notificationService = new NotificationService(_context, sender); _crypt = new SymmetricCrypt(SymmetricCryptProvider.TripleDES); var parameterRepository = new ParameterRepository(_context); _crypt.Key = parameterRepository.GetValueByKey(Parameter.CRYPTO_KEY); }
public static string GetUserToken(Dictionary <string, string> acl) { List <string> tokenList = new List <string>(); foreach (var key in acl.Keys) { tokenList.Add(string.Format("{1}{0}{2}", _spliter_inner, key, acl[key])); } var userToken = string.Join(_spliter_outer.ToString(), tokenList.ToArray()); SymmetricCrypt crypt = new SymmetricCrypt(_type); return(crypt.Encrypt(userToken, _key, _iv)); }
/// <summary> /// Decrypts the specified encrypted string. /// </summary> /// <param name="encryptionMeta">The encryption meta.</param> /// <param name="encryptedString">The encrypted string.</param> /// <returns></returns> /// <exception cref="System.ArgumentNullException"> /// encryptionMeta;The expected metadata is not here. /// or /// encryptedString;The expected encrypted string is not here. /// </exception> public static string Decrypt(this EncryptionMetadata encryptionMeta, string encryptedString) { if (encryptionMeta == null) { throw new ArgumentNullException("encryptionMeta", "The expected metadata is not here."); } if (string.IsNullOrEmpty(encryptedString)) { throw new ArgumentNullException("encryptedString", "The expected encrypted string is not here."); } var crypt = new SymmetricCrypt(); return(crypt.Decrypt(encryptedString, encryptionMeta.Key, encryptionMeta.InitialVector)); }
public static Dictionary <string, string> AnalyzeUserToken(string userToken) { SymmetricCrypt crypt = new SymmetricCrypt(_type); userToken = crypt.Decrypt(userToken, _key, _iv); var tokenList = userToken.Split(_spliter_outer); var dic = new Dictionary <string, string>(); foreach (var item in tokenList) { var tmp = item.Split(_spliter_inner); if (tmp.Length == 2) { dic.Add(tmp[0], tmp[1]); } else { throw new ArgumentException("口令格式错误 - " + item); } } return(dic); }
public string EncryptConnString(string connStr) { var crypt = new SymmetricCrypt(Common.Database.Consts.GET_CONN_CRYPT_TYPE()); return(crypt.Encrypt(connStr, Consts.GET_CONN_CRYPT_KEY(), Consts.GET_CONN_CRYPT_IV())); }
public string DecryptConnString(string connStr) { var crypt = new SymmetricCrypt(Consts.GET_CONN_CRYPT_TYPE()); return(crypt.Decrypt(connStr, Consts.GET_CONN_CRYPT_KEY(), Consts.GET_CONN_CRYPT_IV())); }
protected override void Seed(Context context) { var crypto = new SymmetricCrypt(SymmetricCryptProvider.TripleDES) { Key = "smart123" }; #region User context.Set <User>().AddOrUpdate(u => u.Name, new Admin { Name = "Admin", Active = true, Login = "******", Email = "*****@*****.**", Password = crypto.Encrypt("smart123"), CreatedAt = DateTime.Now }); context.Set <User>().AddOrUpdate(u => u.Name, new Admin { Name = "Daemon User", Active = true, Login = "******", Email = "*****@*****.**", Password = crypto.Encrypt("smart123"), CreatedAt = DateTime.Now }); context.Save(); #endregion #region Parametro context.Set <Parameter>() .AddOrUpdate(p => p.Key, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.CRYPTO_KEY, Value = "smart123", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.EMAIL_FROM_KEY, Value = "*****@*****.**", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.SMTP_PORT_KEY, Value = "25", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.SMTP_PASSWORD_KEY, Value = "", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.SMTP_SERVER_KEY, Value = "localhost", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.SMTP_USE_SSL_KEY, Value = "false", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.SMTP_USERNAME_KEY, Value = "", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.APP_NAME_KEY, Value = "Your Company Training", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.SMTP_USE_DEFAULT_CREDENTIALS_KEY, Value = "true", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.FILE_STORAGE_KEY, Value = "Content/Support", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.TALK_TO_US_RECEIVER_NAME_KEY, Value = "Raphael Carubbi Neto", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.TALK_TO_US_RECEIVER_EMAIL_KEY, Value = "*****@*****.**", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.DAEMON_USER_KEY, Value = "*****@*****.**", Active = true }, new Parameter { CreatedAt = DateTime.Now, Key = Parameter.BASE_URL_KEY, Value = "http://localhost:21114", Active = true }); context.Save(); #endregion }