示例#1
0
        // Перегруженная функция для файлового режима
        public static string Get_HMAC_SHA3_Hash(FileStream fs, string NameSHA, string Key)
        {
            switch (NameSHA)
            {
            case "SHA3-512":
                return(SHA3.SHA3_HMAC_512(fs, Key));

            case "SHA3-384":
                return(SHA3.SHA3_HMAC_384(fs, Key));

            case "SHA3-256":
                return(SHA3.SHA3_HMAC_256(fs, Key));

            case "SHA3-224":
                return(SHA3.SHA3_HMAC_224(fs, Key));
            }
            return("Error!");
        }
示例#2
0
        /// <summary>
        /// Выбор необходимого алгоритма в завистимости от типа строки
        /// </summary>
        /// <param name="Text">Входные хешированные данные</param>
        /// <param name="NameSHA">Выбор алгоритма</param>
        /// <param name="Is_Text_Input">Проверка, что выбрана текстовая или 16-ричная строка</param>
        /// <returns></returns>
        public static string Get_SHA3_Hash(string Text, string NameSHA, bool Is_Text_Input)
        {
            if (Is_Text_Input)  // если текстовая строка
            {
                switch (NameSHA)
                {
                case "SHA3-512":
                    return(SHA3.SHA3_512(Text));

                case "SHA3-384":
                    return(SHA3.SHA3_384(Text));

                case "SHA3-256":
                    return(SHA3.SHA3_256(Text));

                case "SHA3-224":
                    return(SHA3.SHA3_224(Text));
                }
            }
            else                // если 16-ричная строка
            {
                switch (NameSHA)
                {
                case "SHA3-512":
                    return(SHA3.SHA3_512_HEX(Text));

                case "SHA3-384":
                    return(SHA3.SHA3_384_HEX(Text));

                case "SHA3-256":
                    return(SHA3.SHA3_256_HEX(Text));

                case "SHA3-224":
                    return(SHA3.SHA3_224_HEX(Text));
                }
            }
            return("Error!");
        }