コード例 #1
0
ファイル: Password.cs プロジェクト: yuukidesu9/telegram-wp
        public static TLString GetNewHash(TLPasswordKdfAlgoBase kdfAlgoBase, TLString password)
        {
            var algo = kdfAlgoBase as TLPasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow;

            if (algo != null)
            {
                var salt1 = algo.Salt1;
                var salt2 = algo.Salt2;

                var hash1 = GetHash(salt1, password);
                var hash2 = GetHash(salt2, hash1);
                var hash3 = PBKDF2.GetHash(hash2.Data.AsBuffer(), salt1.Data.AsBuffer());
                var hash4 = GetHash(salt2, TLString.FromBigEndianData(hash3.ToArray()));

                return(hash4);
            }

            return(null);
        }