.NET C# 如何使用图片加密TXT文件?

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

文本文件(TXT)是计算机文件中常见的文件类型之一,它可以存储文本数据。然而,TXT文件中的数据很容易被读取和拷贝,这意味着您的敏感数据很可能被窃取。因此,在存储敏感信息时,需要使用更安全的方法。本文将介绍使用图片加密TXT文件的方法,来保证您的敏感数据得到更好的保护。

下面是详细的步骤:

1. 准备工作
在开始之前,需要准备一个400x300大小的 .jpg或 .png 格式的文件和 visual studio 环境。以logo.png作为加密文件。

2. 创建加密方法
在C#中,可以通过以下代码来完成将TXT文件编码到图像文件的过程:

public static void Encode(string textToEncode, string imageFilePath, string encodedImageFilePath)
{
    // 文本转成位图
    Bitmap bitmap = (Bitmap)Image.FromFile(imageFilePath);
    byte[] textBytes = Encoding.ASCII.GetBytes(textToEncode);

    // 使用位图空间的像素存储文本位
    int i = 0, j = 0;
    foreach (byte b in textBytes)
    {
        for (int bit = 0, val = 128; bit < 8; bit++, val /= 2)
        {
            // 将文本位与图像位做或的运算来设置前两位的颜色。
            // 0xFFFFFFFC用于清除图像字节的最后两位,从而确保他们启动为 00
            int pixelValue = bitmap.GetPixel(i, j).ToArgb() & 0xFFFFFFFC;
            // 加入文本位
            if ((b & val) == val)
            {
                pixelValue |= 0x00000001;
            }
            bitmap.SetPixel(i, j, Color.FromArgb(pixelValue));
            if (++i == bitmap.Width)
            {
                i = 0;
                if (++j == bitmap.Height)
                {
                    throw new Exception("File not long enough.");
                }
            }
        }
    }
    bitmap.Save(encodedImageFilePath, ImageFormat.Png);
}

3. 创建解密方法
同样,您也可以使用以下代码来完成从图像文件解码TXT文件的过程:

public static string Decode(string encodedImageFilePath)
{
    var sb = new StringBuilder();
    Bitmap bitmap = (Bitmap)Image.FromFile(encodedImageFilePath);
    for (int j = 0; j < bitmap.Height; j++)
    {
        for (int i = 0; i < bitmap.Width; i++)
        {
            // 将以下代码中使用掩码检查像素的前两位.
            // 如果他们都是 00,表示此像素未编码任何文本数据。
            int pixelValue = bitmap.GetPixel(i, j).ToArgb();
            int val = pixelValue & 0x00000003;
            if (val != 0)
            {
                sb.Append((char)(Val-1+'A'));
                if(sb.Length > 50000)
                {
                    return sb.ToString();
                }
            }
        }
    }
    return sb.ToString();
}

4. 执行并测试代码
通过以上代码,可以在 Visual Studio 中创建一个简单的 C# 应用程序并集成上述代码进行测试。

以下是运行后的效果.


附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
File Source
.rar
208.36 KB
文件部分展示图(单击放大)
.NET C# 如何使用图片加密TXT文件?.NET C# 如何使用图片加密TXT文件?
留言
该资源可下载
File Source
.rar
208.36 KB
.NET C# 如何使用图片加密TXT文件?.NET C# 如何使用图片加密TXT文件?
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章