Самая сложная часть здесь, кажется, переделка метода SHA1.Вам просто нужно найти эквивалентные классы / методы библиотеки .NET.Судя по именам, вам, вероятно, понадобится класс System.Text.Encoding и класс System.Security.Cryptography.SHA1 .Исходя из этого, алгоритм, вероятно, заканчивается примерно так:
Private Shared Function SHA1(input As String) As Byte()
Dim iso8859 = System.Text.Encoding.GetEncoding("iso-8859-1")
Dim inBytes = ios8859.GetBytes(input)
' This is one implementation of the abstract class SHA1.'
Dim sha As New SHA1CryptoServiceProvider()
Return sha.ComputeHash(data)
End Function
Оттуда вы сможете самостоятельно преобразовать остальную часть функции decryptSHA1
, так как это просто базовая манипуляция байтами.Я отмечу, что функция GetEncoding
сообщает, что она выдает ArgumentException
, если вы передаете недопустимое имя кодовой страницы, и, похоже, нет никакого эквивалентного исключения для NoSuchAlgorithmException
, чтобы беспокоиться о перехвате.