a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

c# 圖片加密解密的實例代碼

2020-01-24 03:10:37
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace Net.Template.Common
{
/// <summary>
/// 對圖片的加密和解密
/// </summary>
public class DEncrypt4ImageHelper
{
public DEncrypt4ImageHelper() { }

#region 加密方法 圖片加密
/// <summary>
/// 圖片加密
/// </summary>
/// <param name="filePath">源文件</param>
/// <param name="savePath">保存為文件名稱</param>
/// <param name="keyStr">密鑰</param>
public static void EncryptFile(string filePath, string savePath, string keyStr)
{
//通過des加密
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//通過流打開文件
FileStream fs = File.OpenRead(filePath);
//獲取文件二進制字符
byte[] inputByteArray = new byte[fs.Length];
//讀流文件
fs.Read(inputByteArray, 0, (int)fs.Length);
//關(guān)閉流
fs.Close();
//獲得加密字符串二進制字符
byte[] keyByteArray = Encoding.Default.GetBytes(keyStr);

//計算指定字節(jié)組指定區(qū)域哈希值
SHA1 ha = new SHA1Managed();
byte[] hb = ha.ComputeHash(keyByteArray);
//加密密鑰數(shù)組
byte[] sKey = new byte[8];
//加密變量
byte[] sIV = new byte[8];
for (int i = 0; i < 8; i++)
sKey[i] = hb[i];
for (int i = 8; i < 16; i++)
sIV[i - 8] = hb[i];
//獲取加密密鑰

des.Key = sKey;
//設(shè)置加密初始化向量
des.IV = sIV;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
fs = File.OpenWrite(savePath);

foreach (byte b in ms.ToArray())
{
fs.WriteByte(b);

}

fs.Close();
cs.Close();
ms.Close();

}
#endregion

#region 解密方法 圖片解密
/// <summary>
/// 圖片解密
/// </summary>
/// <param name="filePath">源文件</param>
/// <param name="savePath">保存文件</param>
/// <param name="keyStr">密鑰</param>
public static void DecryptFile(string filePath, string savePath, string keyStr)
{
//通過des解密
DESCryptoServiceProvider des = new DESCryptoServiceProvider();

//通過流讀取文件
FileStream fs = File.OpenRead(filePath);
//獲取文件二進制字符
byte[] inputByteArray = new byte[fs.Length];
//讀取流文件
fs.Read(inputByteArray, 0, (int)fs.Length);
//關(guān)閉流
fs.Close();
//密鑰數(shù)組
byte[] keyByteArray = Encoding.Default.GetBytes(keyStr);
//定義哈希變量
SHA1 ha = new SHA1Managed();
//計算指定字節(jié)組指定區(qū)域哈希值
byte[] hb = ha.ComputeHash(keyByteArray);
//加密密鑰數(shù)組
byte[] sKey = new byte[8];
//加密變量
byte[] sIV = new byte[8];
for (int i = 0; i < 8; i++)
sKey[i] = hb[i];
for (int i = 8; i < 16; i++)
sIV[i - 8] = hb[i];
//獲取加密密鑰
des.Key = sKey;
//加密變量
des.IV = sIV;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
fs = File.OpenWrite(savePath);
foreach (byte b in ms.ToArray())
{
fs.WriteByte(b);
}
fs.Close();
cs.Close();
ms.Close();

}
#endregion

}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 毛片精品 | 免费国产一区二区 | 久久国产精品久久 | 国产精品美女视频一区二区三区 | 精品一区二区三区四区五区 | 亚洲啊v| 亚洲精品美女久久久久久久久久 | 成年人免费看片 | 国产乡下妇女做爰视频 | 一区二区三区久久 | 欧美日本国产 | 狠狠草视频 | 激情综合久久 | 天天精品在线 | 亚洲国产精品久久久久 | 日韩免费激情视频 | 9999国产精品欧美久久久久久 | 黄色片在线免费看 | 欧美福利电影在线观看 | 奇米成人影视 | 成人观看免费视频 | 亚洲免费在线观看视频 | 精品久久久久久久人人人人传媒 | 激情99 | 狠狠操夜夜操 | 国产一区二区在线播放 | 色狠狠干| 国产视频一区二区 | 天天摸夜夜摸爽爽狠狠婷婷97 | 欧美a在线观看 | 国产欧美精品一区二区三区四区 | 国产精品国产三级国产aⅴ中文 | 久久精品导航 | 国产一区二区三区免费在线 | 日韩和的一区二区 | 女同久久另类99精品国产 | 午夜日韩 | 91在线精品一区二区 | 亚洲视频在线观看网站 | 秋霞影院午夜丰满少妇在线视频 | 久久99精品久久久久久久 |