public static void Reset() { FileUtils.Delete(PasscodeParamsFileSyncRoot, Constants.PasscodeParamsFileName); _cachedParams = null; RemovePasscodeKeys(); }
public void Reset() { _cachedParams = null; FileUtils.Delete(_passcodeParamsFileSyncRoot, "passcode_params.dat"); RaisePropertyChanged(() => IsEnabled); RaisePropertyChanged(() => IsLocked); }
public static TLPasscodeParams GetParams() { if (_cachedParams != null) { return(_cachedParams); } if (!_readOnce) { _readOnce = true; _cachedParams = TLUtils.OpenObjectFromMTProtoFile <TLPasscodeParams>(PasscodeParamsFileSyncRoot, Constants.PasscodeParamsFileName); } return(_cachedParams); }
private TLPasscodeParams GetParams() { if (_cachedParams != null) { return(_cachedParams); } if (!_readOnce) { _readOnce = true; _cachedParams = new TLPasscodeParams(TLUtils.OpenObjectFromMTProtoFile <TLPasscodeTuple>(_passcodeParamsFileSyncRoot, "passcode_params.dat")); } return(_cachedParams); }
public static void SetParams(string passcode, bool isSimple, int autolockTimeout) { var salt = new byte[256]; var secureRandom = new RNGCryptoServiceProvider(); secureRandom.GetBytes(salt); var hash = Telegram.Api.Helpers.Utils.ComputeSHA1(TLUtils.Combine(salt, new TLString(passcode).Data, salt)); var passcodeParams = new TLPasscodeParams { Hash = TLString.FromBigEndianData(hash), Salt = TLString.FromBigEndianData(salt), IsSimple = new TLBool(isSimple), AutolockTimeout = new TLInt(autolockTimeout), CloseTime = new TLInt(0), Locked = TLBool.False }; _cachedParams = passcodeParams; Save(); }
public void Set(string passcode, bool simple, int timeout) { var salt = CryptographicBuffer.GenerateRandom(256).ToArray(); var data = Utils.ComputeSHA1(TLUtils.Combine(salt, Encoding.UTF8.GetBytes(passcode), salt)); var cachedParams = new TLPasscodeParams { Hash = data, Salt = salt, IsSimple = simple, AutolockTimeout = timeout, CloseTime = 0, IsLocked = false }; _cachedParams = cachedParams; Save(); RaisePropertyChanged(() => IsEnabled); RaisePropertyChanged(() => IsLocked); }