Преобразование String в Char[] изменяет длину переменной

Я использую Char[] и преобразовываю его как защищенную строку для шифрования и расшифровки строковых значений.

Ниже приведен фрагмент кода, который я использую для создания ключа шифрования.

char[] keyChars = { '1', '2', '3', '4', '5', '6', '7', '8' }; // This is in key vault now.

var _key = new SecureString();
foreach (var chars in keyChars)
{
_key.AppendChar(chars); // key length is 8
}

Я сохранил этот ключ в хранилище лазурных ключей и извлек его, а вывод возвращается в виде строки. Теперь я хочу преобразовать строковое значение в char[].

Я пытался использовать код, но длина переменной отличается. Из-за этого обычный текст возвращает другое значение при шифровании.

string keyVaultSecret = "'1', '2', '3', '4', '5', '6', '7', '8'"; // length 38
string[] arrayString = new[] { keyVaultSecret };
var charArrayList = arrayString.Select(
     str => str.ToCharArray()).ToList(); // charArrayList length is 1 here

Может кто-нибудь помочь, как преобразовать String в Char[] без изменения длины переменной.

Эквивалентом string будет: «12345678». Ваш keyVaultSecret включает в себя все символы для пробелов, одинарных кавычек и запятых.

wohlstad 03.02.2023 07:46
arrayString.Split(',').Select( x => x[1] ).ToArray()
John Wu 03.02.2023 07:47

Я исправил комментарии для вас - к сожалению, это не сделало вопрос намного лучше, но, по крайней мере, он соответствует поведению кода ... Вы можете отредактировать вопрос больше, чтобы уточнить, почему вы ожидали, что этот код будет давать разные результаты и как вы измерили длину charArrayList как 38, когда она явно равна 1.

Alexei Levenkov 03.02.2023 07:59

@AlexeiLevenkov, извините, я не объяснил свой вопрос вкратце. В следующий раз я буду внимателен и ясен.

CodeLearner 03.02.2023 08:37
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
4
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если я правильно понял вопрос, вы можете попробовать что-то вроде этого:

string keyVaultSecret = "'1', '2', '3', '4', '5', '6', '7', '8'";
var arrayString = keyVaultSecret
                        .Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                        .Select(x => x.Replace('\'', ' '))
                        .Select(x => x.Trim());
    
var charArray = string.Join(string.Empty, arrayString).ToCharArray();

Другие вопросы по теме