public static string ToEncodedString( this byte[] inArray, bool allowNulls, ByteArrayStringEncoding encoding = DefaultStringEncoding) { if (allowNulls && (inArray == null)) { return(NullBytesString); } return(inArray.ToEncodedString(encoding)); }
public static byte[] ToByteArray( this string encodedString, bool allowNulls, ByteArrayStringEncoding fromEncoding = ConvertByteArray.DefaultStringEncoding) { if (allowNulls && (encodedString == null)) { return(NullByteArray); } return(encodedString.ToByteArray(fromEncoding)); }
public static Encryptor CreateEncryptorWithGivenSalt( [NotNull] this SymmetricAlgorithm algorithm, [NotNull] string secretKey, [NotNull] string salt, ByteArrayStringEncoding saltEncoding = ConvertByteArray.DefaultStringEncoding, EncryptionOptions options = DefaultOptions) { Contract.Requires <ArgumentNullException>(algorithm != null); Contract.Requires <ArgumentNullException>(secretKey != null); Contract.Requires <ArgumentNullException>(salt != null); return(algorithm.CreateEncryptorWithGivenSalt(secretKey, salt.ToByteArray(saltEncoding), options)); }
public void Ignores_Invalid_Encoding_With_Null_Input() { const ByteArrayStringEncoding invalidEncoding = (ByteArrayStringEncoding)17; // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>( () => ConvertEncodedString.ToByteArray(null, invalidEncoding)); Assert.Throws <ArgumentNullException>( () => ConvertEncodedString.ToByteArray(null, false, invalidEncoding)); Assert.IsNull(ConvertEncodedString.ToByteArray(null, true, invalidEncoding)); }
public static Encryptor <T> CreateEncryptorWithGivenSalt <T>( [NotNull] string secretKey, [NotNull] string salt, ByteArrayStringEncoding saltEncoding = ConvertByteArray.DefaultStringEncoding, EncryptionOptions options = DefaultOptions) where T : SymmetricAlgorithm { Contract.Requires <ArgumentNullException>(secretKey != null); Contract.Requires <ArgumentNullException>(salt != null); return(CreateEncryptorWithGivenSalt <T>(secretKey, salt.ToByteArray( (options & EncryptionOptions.AllowNullInput) == EncryptionOptions.AllowNullInput, saltEncoding))); }
public void Rejects_Invalid_Encoding_With_Valid_Input() { const ByteArrayStringEncoding invalidEncoding = (ByteArrayStringEncoding)17; const string validInputString = KnownConstantHexadecimalString; Assert.Throws <ArgumentOutOfRangeException>( () => validInputString.ToByteArray(invalidEncoding)); Assert.Throws <ArgumentOutOfRangeException>( () => validInputString.ToByteArray(true, invalidEncoding)); Assert.Throws <ArgumentOutOfRangeException>( () => validInputString.ToByteArray(false, invalidEncoding)); }
public static Encryptor <T> CreateEncryptor <T>( [NotNull] string secretKey, out string randomSalt, ByteArrayStringEncoding saltEncoding = ConvertByteArray.DefaultStringEncoding, EncryptionOptions options = DefaultOptions) where T : SymmetricAlgorithm { Contract.Requires <ArgumentNullException>(secretKey != null); byte[] randomSaltBytes; Encryptor <T> encryptor = CreateEncryptor <T>(secretKey, out randomSaltBytes, options); randomSalt = randomSaltBytes.ToEncodedString(saltEncoding); return(encryptor); }
public static EncryptorWithChecksum CreateEncryptorWithGivenSalt( [NotNull] this SymmetricAlgorithm algorithm, [NotNull] KeyedHashAlgorithm checksumHasher, [NotNull] string password, [NotNull] string salt, ByteArrayStringEncoding saltEncoding = ConvertByteArray.DefaultStringEncoding, EncryptionOptions options = DefaultOptions) { Contract.Requires <ArgumentNullException>(algorithm != null); Contract.Requires <ArgumentNullException>(checksumHasher != null); Contract.Requires <ArgumentNullException>(password != null); Contract.Requires <ArgumentNullException>(salt != null); return(algorithm.CreateEncryptorWithGivenSalt( checksumHasher, password, salt.ToByteArray(saltEncoding), options)); }
public static string ToEncodedString( [NotNull] this byte[] inArray, ByteArrayStringEncoding encoding = DefaultStringEncoding) { Contract.Requires <ArgumentNullException>(inArray != null); // ReSharper disable once ConvertIfStatementToSwitchStatement if (encoding == ByteArrayStringEncoding.Base64) { return(inArray.ToBase64String()); } if (encoding == ByteArrayStringEncoding.Hexadecimal) { return(inArray.ToHexadecimalString()); } throw new ArgumentOutOfRangeException("encoding", encoding, "Invalid value for ByteArrayStringEncoding enumeration."); }
public static byte[] ToByteArray( [NotNull] this string encodedString, ByteArrayStringEncoding fromEncoding = ConvertByteArray.DefaultStringEncoding) { Contract.Requires <ArgumentNullException>(encodedString != null); // ReSharper disable once ConvertIfStatementToSwitchStatement if (fromEncoding == ByteArrayStringEncoding.Base64) { return(encodedString.FromBase64()); } // ReSharper disable once InvertIf if (fromEncoding == ByteArrayStringEncoding.Hexadecimal) { return(encodedString.FromHexadecimal()); } throw new ArgumentOutOfRangeException(); }
public static EncryptorWithChecksum CreateEncryptor( [NotNull] this SymmetricAlgorithm algorithm, [NotNull] KeyedHashAlgorithm checksumHasher, [NotNull] string password, out string randomSalt, ByteArrayStringEncoding saltEncoding = ConvertByteArray.DefaultStringEncoding, EncryptionOptions options = DefaultOptions) { Contract.Requires <ArgumentNullException>(algorithm != null); Contract.Requires <ArgumentNullException>(checksumHasher != null); Contract.Requires <ArgumentNullException>(password != null); byte[] randomSaltBytes; EncryptorWithChecksum encryptor = algorithm.CreateEncryptor( checksumHasher, password, out randomSaltBytes, options); randomSalt = randomSaltBytes.ToEncodedString(saltEncoding); return(encryptor); }
public static byte[] ToByteArray( [NotNull] this string encodedString, ByteArrayStringEncoding fromEncoding = ConvertByteArray.DefaultStringEncoding) { Contract.Requires<ArgumentNullException>(encodedString != null); // ReSharper disable once ConvertIfStatementToSwitchStatement if (fromEncoding == ByteArrayStringEncoding.Base64) { return encodedString.FromBase64(); } // ReSharper disable once InvertIf if (fromEncoding == ByteArrayStringEncoding.Hexadecimal) { return encodedString.FromHexadecimal(); } throw new ArgumentOutOfRangeException(); }
public static byte[] ToByteArray( this string encodedString, bool allowNulls, ByteArrayStringEncoding fromEncoding = ConvertByteArray.DefaultStringEncoding) { if (allowNulls && (encodedString == null)) { return NullByteArray; } return encodedString.ToByteArray(fromEncoding); }
public static string ToEncodedString( this byte[] inArray, bool allowNulls, ByteArrayStringEncoding encoding = DefaultStringEncoding) { if (allowNulls && (inArray == null)) { return NullBytesString; } return inArray.ToEncodedString(encoding); }
public static string ToEncodedString( [NotNull] this byte[] inArray, ByteArrayStringEncoding encoding = DefaultStringEncoding) { Contract.Requires<ArgumentNullException>(inArray != null); // ReSharper disable once ConvertIfStatementToSwitchStatement if (encoding == ByteArrayStringEncoding.Base64) { return inArray.ToBase64String(); } if (encoding == ByteArrayStringEncoding.Hexadecimal) { return inArray.ToHexadecimalString(); } throw new ArgumentOutOfRangeException("encoding", encoding, "Invalid value for ByteArrayStringEncoding enumeration."); }