Используйте Machinekey.Unprotect, когда нет конфигурационных файлов - PullRequest
0 голосов
/ 11 марта 2019

Я использую пространство имен System.Web.Security для шифрования и дешифрования ключа компьютера. Как я понимаю, этот метод использовал машинный ключ, присутствующий в файлах конфигурации, для шифрования и дешифрования

<machineKey validationKey="somerandomcharsinthemachinekey" decryptionKey="somedecryptionkey" validation="SHA1" />

Моими вспомогательными методами, которые вызывают шифрование и дешифрование, являются

public static string Encrypt(string plaintextValue)
        {
            var plaintextBytes = Encoding.UTF8.GetBytes(plaintextValue);
            return Convert.ToBase64String(MachineKey.Protect(plaintextBytes, null));
        }

        public static string Decrypt(string encryptedValue)
        {
            var encryptedValueBytes = Convert.FromBase64String(encryptedValue);
            var decryptedBytes = MachineKey.Unprotect(encryptedValueBytes, null);
            return Encoding.UTF8.GetString(decryptedBytes);
        }

Этот код, однако, не работает в приложениях Azure, в которых нет файлов конфигурации, таких как приложения функций и т. Д., И выдает исключение. Как я могу использовать этот код в таких сценариях, ИЛИ есть ли собственный код, который я могу написать, который делает то же самое, что и MachineKey Encryption?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...