Это может быть вопрос дляhttp://crypto.stackexchange.com, но я подумал, что сначала попробую здесь, поскольку ответ может относиться к.NET, а не к самому алгоритму шифрования.
В классе RSACryptoServiceProvider есть метод SignHash , который:
Computes the signature for the specified hash value by encrypting it with the private key.
Первый аргумент — это хеш-значение данных (, которое кажется справедливым ), а второй — строка, указывающая алгоритм, использованный для создания хэш-значения.
Вопрос в том, почему алгоритм хеширования имеет значение? Конечно, все, что нужно сделать методу, это зашифровать данное значение с помощью его закрытого ключа и вернуть результат? И если это действительно нужно знать, почему у RSACryptoServiceProvider нет метода, который делает именно это (вместе с соответствующим методом Verify )?