/// <summary> /// 将一个对象序列化为字节数组。 /// </summary> /// <param name="obj">要序列化的对象。</param> /// <returns>序列化后的字节数组。</returns> public override byte[] Serialize <T>(T obj) { try { using (var stream = new MemoryStream()) { var bin = new BinaryFormatter(); bin.Serialize(stream, obj); var bytes = cryptoProvider.Encrypt(stream.ToArray()); using (var nstream = new MemoryStream()) { if (Token != null && Token.Data != null && Token.Data.Length > 0) { nstream.Write(Token.Data, 0, Token.Data.Length); } nstream.Write(bytes, 0, bytes.Length); return(nstream.ToArray()); } } } catch (Exception ex) { throw new SerializationException(SR.GetString(SRKind.SerializationError), ex); } }
/// <summary> /// Saves changes /// </summary> /// <returns>self, fluent interface</returns> public ISettingsProvider Save() { var serialized = JsonConvert.SerializeObject(_data, _serializerSettings); PlayerPrefs.SetString(_cryptoProvider.Hash("_data"), _cryptoProvider.Encrypt(serialized)); PlayerPrefs.Save(); return(this); }
public ActionResult Create(AwsProfileViewModel profileViewModel) { try { if (ValidateViewModelAgainstExternalSources(profileViewModel, newProfile: true)) { string dataKey; string encryptedStrings = _cryptoProvider.Encrypt( out dataKey, profileViewModel.SecretAccessKey ); var profile = new AwsProfile { Name = profileViewModel.Name, Account = profileViewModel.Account, AccessKeyId = profileViewModel.AccessKeyId, EncryptedKey = dataKey, EncryptedSecretAccessKey = encryptedStrings, DefaultVpcId = profileViewModel.DefaultVpcId, DefaultSubnetId = profileViewModel.DefaultSubnetId, HostedZone = profileViewModel.HostedZone, Groups = profileViewModel.Groups, DetailedBillingS3Bucket = profileViewModel.DetailedBillingS3Bucket, }; _profileRepository.Add(profile); _backgroundJobClient.Enqueue <CreateDefaultSecurityGroup>(x => x.Execute(profile.Id, profileViewModel.DefaultVpcId)); _backgroundJobClient.Enqueue <CreateIpRange>(x => x.Execute(profile.Id, profileViewModel.DefaultSubnetId)); return(RedirectToAction("Index")); } } catch (Exception e) { // TODO: Just for debugging! Remove this. Don't show this to the user, but log it somewhere for troubleshooting purposes. ModelState.AddModelError("", string.Format("There was a problem creating the profile. {0}", e.Message)); } // If we make it this far, something bad happened. Display the error message to the user. return(View(profileViewModel)); }
public CryptoKeyProtector(string name, byte[] key, object parms = null, object[] state = null) { _decryptedKey = key; ProtectorName = name; ProtectorState = state; InstantiateProvider(); // Initialise if possible if (Provider is IInitiableProvider initiable) { initiable.Initialise(parms); } // Finally, set the provider's key if (_decryptedKey != null) { ProtectorKey = Provider.Encrypt(_decryptedKey); } }
/// <summary> /// Serializes an <see cref="T:Photon.SocketServer.OperationResponse"/>. /// The operation response data will be encrypted using the specified <see cref="T:Photon.SocketServer.Security.ICryptoProvider"/>. /// </summary> /// <param name="operationResponse"> The response.</param> /// <param name="cryptoProvider">An <see cref="T:Photon.SocketServer.Security.ICryptoProvider"/> instance used to encrypt the operation response.</param> /// <returns>The serialized operation response.</returns> public byte[] SerializeOperationResponseEncrypted(OperationResponse operationResponse, ICryptoProvider cryptoProvider) { byte[] buffer; using (ReusableMemoryStream stream = new ReusableMemoryStream()) { SerializeOperationResponse(stream, operationResponse); byte[] data = stream.ToArray(); buffer = cryptoProvider.Encrypt(data); } using (ReusableMemoryStream stream2 = new ReusableMemoryStream()) { stream2.Position = this.headerSize; stream2.Write(buffer, 0, buffer.Length); stream2.Position = 0L; this.headerWriter.WriteHeader(stream2, RtsMessageType.OperationResponse, true); return(stream2.ToArray()); } }
/// <summary> /// Encrypts an event. /// </summary> /// <param name="eventData"> The event data.</param> /// <param name="cryptoProvider">The crypto provider.</param> /// <returns>the encrypted event.</returns> /// <exception cref="T:System.ArgumentNullException"> /// cryptoProvider is null. /// </exception> public byte[] SerializeEventDataEncrypted(IEventData eventData, ICryptoProvider cryptoProvider) { byte[] buffer; if (cryptoProvider == null) { throw new ArgumentNullException("cryptoProvider"); } using (ReusableMemoryStream stream = new ReusableMemoryStream()) { SerializeEventData(stream, eventData); byte[] data = stream.ToArray(); buffer = cryptoProvider.Encrypt(data, 0, data.Length); } using (ReusableMemoryStream stream2 = new ReusableMemoryStream()) { stream2.WriteByte(0xf3); stream2.WriteByte(0x84); stream2.Write(buffer, 0, buffer.Length); return(stream2.ToArray()); } }
/// <summary> /// Serializes an <see cref="T:Photon.SocketServer.OperationResponse"/>. /// The operation response data will be encrypted using the specified <see cref="T:Photon.SocketServer.Security.ICryptoProvider"/>. /// </summary> /// <param name="operationResponse"> The response.</param> /// <param name="cryptoProvider">An <see cref="T:Photon.SocketServer.Security.ICryptoProvider"/> instance used to encrypt the operation response.</param> /// <returns>The serialized operation response.</returns> public byte[] SerializeOperationResponseEncrypted(OperationResponse operationResponse, ICryptoProvider cryptoProvider) { byte[] buffer; if (cryptoProvider == null) { throw new ArgumentNullException("cryptoProvider"); } using (ReusableMemoryStream stream = new ReusableMemoryStream()) { SerializeOperationResponse(stream, operationResponse); byte[] data = stream.ToArray(); buffer = cryptoProvider.Encrypt(data); } using (ReusableMemoryStream stream2 = new ReusableMemoryStream()) { stream2.WriteByte(0xf3); stream2.WriteByte(0x83); stream2.Write(buffer, 0, buffer.Length); return(stream2.ToArray()); } }
public byte[] SerializeEventDataEncrypted(IEventData eventData, ICryptoProvider cryptoProvider) { byte[] buffer; if (cryptoProvider == null) { throw new ArgumentNullException("cryptoProvider"); } using (ReusableMemoryStream stream = new ReusableMemoryStream()) { SerializeEventData(stream, eventData); byte[] data = stream.ToArray(); buffer = cryptoProvider.Encrypt(data, 0, data.Length); } using (ReusableMemoryStream stream2 = new ReusableMemoryStream()) { stream2.Position = this.headerSize; stream2.Write(buffer, 0, buffer.Length); stream2.Position = 0L; this.headerWriter.WriteHeader(stream2, RtsMessageType.Event, true); return(stream2.ToArray()); } }
public void Encrypt(IDataSource dataSource, IDataDestination dataDestination) { var encryptedData = _cryptoProvider.Encrypt(dataSource.GetData()); dataDestination.PutData(encryptedData); }
private static XElement WriteSettings(string sectionXmlName, NameValueSettings sectionSource, ICryptoProvider cryptoProvider, bool encryptAll) { //Write the settings var section = new XElement(sectionXmlName); var rawSource = sectionSource.RawSettings; foreach (string key in rawSource.AllKeys) { //Add the description if appropriate string description = sectionSource.GetDescription(key); if (description.Length > 0) { section.Add(new XComment(description)); } //Encrypt if appropriate string val = rawSource[key]; if (cryptoProvider != null && (encryptAll || sectionSource.IsEncrypted(key))) { val = cryptoProvider.Encrypt(val); } section.Add(new XElement( ConfigElement.KeyValueSettingNode, new XAttribute(ConfigElement.SettingKeyAttribute, key), new XAttribute(ConfigElement.SettingValueAttribute, val))); } return section; }
protected override byte[] EncodeDataToBytes(CodedData data) { return(cryptor.Encrypt(data.Data)); }
public void EncryptMessage(object obj) { DecryptoText = ConvertToString(_provider.Encrypt(ConvertToStringArray(EncryptoText))); EncryptoText = null; }