public ByteCipher(string passPhrase = null, DataCipherKeySize keySize = DataCipherKeySize.Key_128) { if (!string.IsNullOrEmpty(passPhrase?.Trim())) { _passPhrase = passPhrase; } _Keysize = keySize == DataCipherKeySize.Key_256 ? 256 : 128; saltStringBytes = _Keysize == 256 ? Encoding.UTF8.GetBytes(salt256) : Encoding.UTF8.GetBytes(salt128); ivStringBytes = _Keysize == 256 ? Encoding.UTF8.GetBytes("SSljsdkkdlo4454Maakikjhsd55GaRTP") : Encoding.UTF8.GetBytes("SSljsdkkdlo4454M"); }
/// <summary> /// Encode Key or leave it empty to use a EntityWorker.Core Defult Key /// </summary> /// <param name="key">Default = GlobalConfiguration.DataEncode_Key</param> /// <param name="keySize"> NETCOREAPP2.0 can only handle 128. 128 || 256 Default = GlobalConfiguration.DataEncode_Key_Size </param> /// <param name=""></param> public DataEncode(string key = null, DataCipherKeySize keySize = DataCipherKeySize.Default) { if (!string.IsNullOrEmpty(key)) { Key = key; } if (keySize != DataCipherKeySize.Default) { KeySize = keySize; } else { keySize = GlobalConfiguration.DataEncode_Key_Size; } }
public ITypeMapps HasDataEncode(string action, string key = null, DataCipherKeySize keySize = DataCipherKeySize.Default) { GetProperty(action).Add(new DataEncode(key, keySize)); return(this); }
/// <summary> /// Add DataEncode for property /// </summary> /// <typeparam name="TP"></typeparam> /// <param name="action"></param> /// <param name="key"></param> /// <param name="keySize"></param> /// <returns></returns> public IObjectMapps <T> HasDataEncode <TP>(Expression <Func <T, TP> > action, string key = null, DataCipherKeySize keySize = DataCipherKeySize.Default) { var prop = FastDeepCloner.DeepCloner.GetProperty(typeof(T), Extension.GetMemberName(action)); if (prop == null || prop.PropertyType != typeof(string)) { throw new Exception($"DataEncode for Property {prop?.FullName} kan only be of type string"); } prop.Attributes.Add(new DataEncode(key, keySize)); return(this); }
/// <summary> /// Add DataEncode for property /// </summary> /// <typeparam name="TP"></typeparam> /// <param name="action"></param> /// <param name="key"></param> /// <param name="keySize"></param> /// <returns></returns> public ModuleBuilderProperty <T> HasDataEncode(string key = null, DataCipherKeySize keySize = DataCipherKeySize.Default) { _property.Add(new DataEncode(key, keySize)); return(this); }