Я пытаюсь преобразовать строку символов в десятичную форму каждого символа и разделить их символом, который выбирается случайным образом, а затем, после преобразования, отделить десятичные числа от строки, а затем добавить 1 к этим числам изатем преобразовать их обратно в символы ASCII.Вот что у меня есть, но он продолжает говорить неверный формат ввода с помощью int.Parse:
public string Encode(string data, out string asciiString) {
char[] dataArray = data.ToCharArray();
string[] symb = {"@","#","$","%","&"};
Random rnd = new Random();
string newData = "";
for(int i = 0; i < dataArray.Length; i++) {
newData += (((int)dataArray[i] + 1) + symb[rnd.Next(0, 5)].ToString()); // add 1 to the decimal and then add symbol
}
asciiString = ConvertToAscii(newData);
return newData;
}
public string ConvertToAscii(string data) {
string[] tokens = data.Split('@', '#', '$', '%', '&');
data = data.TrimEnd('@', '#', '$', '%', '&');
string returnString = "";
for(int i = 0; i < tokens.Length; i++){
int num = int.Parse(tokens[i]);
returnString += (char)num;
}
return returnString;
}
Вот пример:
Normal: «Hello» преобразуется в десятичное число с символами:72 $ 101 & 108 # 108 @ 111% преобразованы в ascii (без символов и добавления 1): Ifmmp (мне пришлось сделать это с таблицей ascii)