Example #1
0
        public static void Reset()
        {
            FileUtils.Delete(PasscodeParamsFileSyncRoot, Constants.PasscodeParamsFileName);
            _cachedParams = null;

            RemovePasscodeKeys();
        }
Example #2
0
        public void Reset()
        {
            _cachedParams = null;
            FileUtils.Delete(_passcodeParamsFileSyncRoot, "passcode_params.dat");

            RaisePropertyChanged(() => IsEnabled);
            RaisePropertyChanged(() => IsLocked);
        }
Example #3
0
        public static TLPasscodeParams GetParams()
        {
            if (_cachedParams != null)
            {
                return(_cachedParams);
            }

            if (!_readOnce)
            {
                _readOnce     = true;
                _cachedParams = TLUtils.OpenObjectFromMTProtoFile <TLPasscodeParams>(PasscodeParamsFileSyncRoot, Constants.PasscodeParamsFileName);
            }

            return(_cachedParams);
        }
Example #4
0
        private TLPasscodeParams GetParams()
        {
            if (_cachedParams != null)
            {
                return(_cachedParams);
            }

            if (!_readOnce)
            {
                _readOnce     = true;
                _cachedParams = new TLPasscodeParams(TLUtils.OpenObjectFromMTProtoFile <TLPasscodeTuple>(_passcodeParamsFileSyncRoot, "passcode_params.dat"));
            }

            return(_cachedParams);
        }
Example #5
0
        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();
        }
Example #6
0
        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);
        }