日期:2014-05-16  浏览次数:20921 次

如何修改.rar文件使其不能被winrar等解压文件打开
有个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