Member 13846964 Ответов: 1

Как преобразовать строковый ключ в байт[]


Привет, я написал ниже код для шифрования, где я использую string [,] key для вызова основной программы из класса шифрования . пожалуйста, подскажите, как мы можем преобразовать эту строку в байт[]

Что я уже пробовал:

public int   EncryptFile(string inputFile, string  outputfile, byte[]  rijnKey, byte[] rijnIV)
		{
			try {
				
				FileStream fin = new FileStream(inputFile, FileMode.Open, FileAccess.Read);
				FileStream fout = new FileStream(outputfile, FileMode.OpenOrCreate, FileAccess.Write);
				fout.SetLength(0);
				
				long rdlen = 0;              
				long totlen = fin.Length;    
				int len;       			
				SymmetricAlgorithm rijn = SymmetricAlgorithm.Create(); 
				CryptoStream encStream = new CryptoStream(fout, rijn.CreateEncryptor(rijnKey,rijnIV), CryptoStreamMode.Write);
				int[] digits = terdigits(Convert.ToInt32(totlen));
				int length = 1;
				for (int i = 0; i < digits.Length; i++) {
					switch (i) {
						case 0:
							length = digits[0] * 1000;
							break;
						case 1:
							length = digits[1] * 100;
							break;
						case 2:
							blength = digits[2] * 10;
							break;
						
					}
					if (length != 0) {
						byte[] bin = new byte[length];
						len = fin.Read(bin, 0, length);
						encStream.Write(bin, 0, len);
						rdlen = rdlen + len;
						len = 0;
					}
				}
				encStream.Close();
				fout.Close();
				fin.Close();
				return 1;
			} catch (Exception e) {
				return 0;
			}
		}

result = a.EncryptFile(SelectedPath + @"\" + FileName, TargetFilePath, key[0, 1].ToString(),iv);

1 Ответов

Рейтинг:
1

Graeme_Grant

byte[] bytes = Encoding.ASCII.GetBytes(someString);

Вам нужно будет превратить его обратно в строку, как это:
string someString = Encoding.ASCII.GetString(bytes);


Member 13846964

нужно преобразовать при вызове функции шифрования или нужно преобразовать byte[]rijnkey в функцию шифрования. я становлюсь ниже этого уровня..
Аргумент 3: не удается преобразовать из 'string' в 'byte[]' (CS1503) -
Лучший перегруженный метод соответствия для 'Encryption.AES.EncryptFile(string, string, byte[], byte[])' имеет некоторые недопустимые аргументы (CS1502) -