Безопасный способ преобразования байтового массива в SecureString с кодировкой Base64 - PullRequest
2 голосов
/ 17 марта 2020

У меня есть byte[], который мне нужно кодировать в Base64 и вернуть как SecureString. Мой текущий код выглядит следующим образом:

        string privateString = Convert.ToBase64String(byteArray);
        SecureString result = new SecureString();
        foreach (char c in privateString)
        {
            result.AppendChar(c);
        }
        // wipe the byte array...

Проблема в том, что вызов Convert.ToBase64String небезопасен, поскольку создает управляемую строку, которую я не могу уничтожить. Есть ли безопасный способ сделать это?

1 Ответ

1 голос
/ 17 марта 2020

С точки зрения способов кодирования данных base-64 без промежуточной строки: System.Buffers.Text.Base64. Однако! SecureString не является безопасным и не должен использоваться в настоящее время. Когда-либо. Он не дает никакой полезной защиты от какой-либо значимой атаки.

...