Как сказал Тиллерий
Простое и быстрое копирование содержимого по некоторому паролю, повторяемому до той же длины, что и файл.
но это менее безопасно, чем другие типы надписей.
Я написал простой класс, который помогает вам кодировать строку, используя другую строку в качестве пароля, используя метод xor. надеюсь, что кто-то еще может его использовать.
`using System;
using System.Text;</p>
<p>namespace MyEncriptionNameSpace
{
class XorStringEncripter
{
private string __passWord;
public XorStringEncripter(string password)
{
if (password.Length == 0)
{
throw new Exception("invalide password");
}
__passWord = password;
}
public string encript(string stringToEncript)
{
return __encript(stringToEncript);
}</p>
<code> public string decript(string encripTedString)
{
return __encript(encripTedString);
}
public string __encript(string stringToEncript)
{
var encriptedStringBuilder = new StringBuilder(stringToEncript.Length);
int positionInPassword = 0;
for (int i = 0; i < stringToEncript.Length; i++)
{
__corectPositionInPassWord(ref positionInPassword);
encriptedStringBuilder.Append((char)((int)stringToEncript[i] ^ (int)__passWord[positionInPassword]));
++positionInPassword;
}
return encriptedStringBuilder.ToString();
}
private void __corectPositionInPassWord(ref int positionInPassword)
{
if (positionInPassword == __passWord.Length)
{
positionInPassword = 0;
}
}
}
</code>
} `
на самом деле encript и decript делают одно и то же, я предоставил bouth, чтобы избежать путаницы при использовании одной и той же функции для bouth encription и deceries. Это потому, что если у вас есть номер A, и вы переписываете его с помощью B, и вы получаете C, тогда, если вы переписываете C и B, вы получаете A.
A xor B = C ---> C xor B = A