怎么修改.rar文件使其不能被winrar等解压文件打开
如何修改.rar文件使其不能被winrar等解压文件打开
有个rar文件,想修改一下,使其不能被winrar等打开,从而实现加密的效果,只有使用我的软件才能打开。请问,该怎么实现?
------解决方案--------------------
很容易啊,就改前面三个字符就行,rar文件前面三个字符是"Rar" 改成别的就行了,解密就是改回"Rar
"
有个rar文件,想修改一下,使其不能被winrar等打开,从而实现加密的效果,只有使用我的软件才能打开。请问,该怎么实现?
------解决方案--------------------
很容易啊,就改前面三个字符就行,rar文件前面三个字符是"Rar" 改成别的就行了,解密就是改回"Rar
"
MyClass s = new MyClass();
string strFile = @"C:\db1.rar";
s.ModifyFileHead(strFile, MyClass.OpType.Encode, "abc");
// s.ModifyFileHead(strFile, MyClass.OpType.Decode, "");
class MyClass
{
public MyClass()
{
}
public enum OpType
{
/// <summary>
/// 加密
/// </summary>
Encode = 1,
/// <summary>
/// 解密
/// </summary>
Decode = 2
}
/// <summary>
/// 文件加密
/// </summary>
/// <param name="strFileName"></param>
/// <param name="operateType">MyClass.OpType.Encode加密,MyClass.OpType.Decode解密</param>
/// <param name="strPassword">密码:最多三个字母</param>
public void ModifyFileHead(string strFileName, OpType operateType, string strPassword)
{
switch (operateType)
{
case OpType.Encode:
{
if (strPassword.Length > 3) { return; }
char[] c = strPassword.ToCharArray();
FileStream fs = new FileStream(strFileName, FileMode.Open, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(c, 0, 3);
fs.Close();
bw.Close();
break;
}
case OpType.Decode:
{
strPassword = "Rar";
char[] c = strPassword.ToCharArray();
FileStream fs = new FileStream(strFileName, FileMode.Open, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);