亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lsbencrypt.cs

?? 基于LSB算法的信息隱藏技術。
?? CS
字號:
?using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace LSB_Algorithm
{
    class LSBEncrypt
    {
        //原始圖片路徑
        private string _originalPicPath = null;
        //隱藏信息路徑
        private string _hidingInfoPath = null;
        //原始圖片的文件流
        private FileStream _picStream = null;
        //隱藏信息的文件流
        private FileStream _infoStream = null;

        /// <summary>
        /// LSBEncrypt類的構造函數
        /// </summary>
        /// <param name="path1">原始圖片路徑</param>
        /// <param name="path2">隱藏信息的路徑</param>
        public LSBEncrypt(string path1, string path2)
        {
            _originalPicPath = path1;
            _hidingInfoPath = path2;
        }

        /// <summary>
        /// 將長整型數轉換為24位二進制表示的字節數組
        /// </summary>
        /// <param name="x">要轉換的長整型數,這個數的大小不會超過2的24次方</param>
        /// <returns>二進制表示的字節數組</returns>
        private byte[] ConvertToBinaryArray(long x)
        {
            byte[] binaryArray = new byte[24];
            for (int i = 0; i != 23; i++)
            {
                binaryArray[23 - i] = (byte)(x & 1);
                x = x >> 1;
            }
            return binaryArray;
        }

        /// <summary>
        /// 將3個字節的字節數組轉換為24位(8bit * 3)二進制表示的字節數組
        /// </summary>
        /// <param name="array">長度為3的字節數組</param>
        /// <returns>二進制表示的字節數組</returns>
        private byte[] ConvertToBinaryArray(byte[] array)
        {
            byte[] binaryArray = new byte[24];
            int a = array[0];
            int b = array[1];
            int c = array[2];
            for (int i = 0; i != 8; i++)
            {
                binaryArray[7 - i] = (byte)(a & 1);
                a = a >> 1;
            }
            for (int i = 0; i != 8; i++)
            {
                binaryArray[15 - i] = (byte)(b & 1);
                b = b >> 1;
            }
            for (int i = 0; i != 8; i++)
            {
                binaryArray[23 - i] = (byte)(c & 1);
                c = c >> 1;
            }
            return binaryArray;
        }

        /// <summary>
        /// 將圖像的第55至第66字節的LSB替換為隱藏信息文件的長度
        /// </summary>
        private void HideInfoLength()
        {
            byte[] picBlock = new byte[12];
            //讀取原始圖像的第55至第66字節的內容塊
            _picStream.Position = 54;
            _picStream.Read(picBlock, 0, picBlock.Length);
            byte[] lenArray = ConvertToBinaryArray(_infoStream.Length);
            //置入隱藏文件的長度信息
            int index = 0;
            for (int i = 0; i < 4; i++)
            {
                //置a7,a6位
                picBlock[i * 3] = (byte)((lenArray[index++] == 0) ? (picBlock[i * 3] & 253) : (picBlock[i * 3] | 2));
                picBlock[i * 3] = (byte)((lenArray[index++] == 0) ? (picBlock[i * 3] & 254) : (picBlock[i * 3] | 1));
                //置a5位
                picBlock[i * 3 + 1] = (byte)((lenArray[index++] == 0) ? (picBlock[i * 3 + 1] & 254) : (picBlock[i * 3 + 1] | 1));
                //置a4,a3,a2位
                picBlock[i * 3 + 2] = (byte)((lenArray[index++] == 0) ? (picBlock[i * 3 + 2] & 251) : (picBlock[i * 3 + 2] | 4));
                picBlock[i * 3 + 2] = (byte)((lenArray[index++] == 0) ? (picBlock[i * 3 + 2] & 253) : (picBlock[i * 3 + 2] | 2));
                picBlock[i * 3 + 2] = (byte)((lenArray[index++] == 0) ? (picBlock[i * 3 + 2] & 254) : (picBlock[i * 3 + 2] | 1));
            }
            //將原始文件流重定位到第55字節處并將已嵌入長度信息的12字節塊寫回
            _picStream.Position = 54;
            _picStream.Write(picBlock, 0, picBlock.Length);
            _picStream.Flush();
        }

        /// <summary>
        /// 將隱藏信息以每3個字節寫入原始圖像從第67字節開始的每12字節塊的LSB中
        /// </summary>
        private void HideInfoContent()
        {
            int readCnt = 0;
            //計算循環處理的次數
            long infoLen = _infoStream.Length;
            int cnt = (int)(infoLen % 3 == 0 ? infoLen / 3 : infoLen / 3 + 1);
            _picStream.Position = 66;
            for (int i = 0; i < cnt; i++)
            {
                //每次循環讀取BMP圖像的下一個12字節的內容
                byte[] picBlock = new byte[12];
                readCnt = _picStream.Read(picBlock, 0, picBlock.Length);
                //讀取待隱藏信息的下一個3字節內容
                byte[] readBuffer = new byte[3];
                _infoStream.Read(readBuffer, 0, readBuffer.Length);
                byte[] infoBlock = ConvertToBinaryArray(readBuffer);
                //置位操作
                int index = 0;
                for (int ii = 0; ii < 4; ii++)
                {
                    //置a7,a6位
                    picBlock[ii * 3] = (byte)((infoBlock[index++] == 0) ? (picBlock[ii * 3] & 253) : (picBlock[ii * 3] | 2));
                    picBlock[ii * 3] = (byte)((infoBlock[index++] == 0) ? (picBlock[ii * 3] & 254) : (picBlock[ii * 3] | 1));
                    //置a5位
                    picBlock[ii * 3 + 1] = (byte)((infoBlock[index++] == 0) ? (picBlock[ii * 3 + 1] & 254) : (picBlock[ii * 3 + 1] | 1));
                    //置a4,a3,a2位
                    picBlock[ii * 3 + 2] = (byte)((infoBlock[index++] == 0) ? (picBlock[ii * 3 + 2] & 251) : (picBlock[ii * 3 + 2] | 4));
                    picBlock[ii * 3 + 2] = (byte)((infoBlock[index++] == 0) ? (picBlock[ii * 3 + 2] & 253) : (picBlock[ii * 3 + 2] | 2));
                    picBlock[ii * 3 + 2] = (byte)((infoBlock[index++] == 0) ? (picBlock[ii * 3 + 2] & 254) : (picBlock[ii * 3 + 2] | 1));
                }
                _picStream.Position -= readCnt;
                _picStream.Write(picBlock, 0, picBlock.Length);
            }
            _picStream.Flush();
        }

        /// <summary>
        /// 執行信息隱藏操作
        /// </summary>
        public void ExecuteEncrypt()
        {
            _picStream = new FileStream(_originalPicPath, FileMode.Open, FileAccess.ReadWrite);
            _infoStream = new FileStream(_hidingInfoPath, FileMode.Open, FileAccess.Read);
            HideInfoLength();
            HideInfoContent();
            _picStream.Close();
            _infoStream.Close();
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久免费美女视频| 亚洲午夜精品在线| 美洲天堂一区二卡三卡四卡视频| 久久国产精品色婷婷| 欧美色爱综合网| 亚洲午夜久久久久久久久电影网 | 色综合婷婷久久| 国产欧美综合色| 成人免费高清在线| 亚洲精品成人少妇| 欧美日本国产视频| 国产jizzjizz一区二区| 国产精品久久久99| 欧美主播一区二区三区美女| 亚洲成人免费在线观看| 欧美色欧美亚洲另类二区| 美腿丝袜亚洲一区| 中文字幕av一区二区三区免费看| av电影在线观看完整版一区二区| 亚洲美女偷拍久久| 精品国产伦一区二区三区免费 | 精品一区中文字幕| 国产精品免费av| 日韩一区二区三区免费看| 国产91在线看| 免费的成人av| 亚洲伦理在线免费看| 欧美成人一区二区三区片免费 | 国产老女人精品毛片久久| 亚洲人快播电影网| 国产日韩欧美a| 欧美成人免费网站| 在线日韩一区二区| 成人一区二区三区| 精品在线观看视频| 亚洲国产一区在线观看| 中文字幕精品在线不卡| 日韩精品一区二区三区老鸭窝| 91农村精品一区二区在线| 成人性生交大片免费 | 中文字幕亚洲区| 国产精品免费久久| 国产精品免费丝袜| 中文字幕一区二区三区乱码在线| 精品少妇一区二区三区| 日韩欧美一二区| 日韩片之四级片| 欧美一区二区播放| 欧美本精品男人aⅴ天堂| 日韩精品一区二区三区视频| 91精品国产综合久久国产大片| 欧美无砖专区一中文字| 欧美图区在线视频| 欧美成人伊人久久综合网| 91免费在线看| 欧美日韩美少妇| 91麻豆精品国产综合久久久久久 | 国产欧美久久久精品影院| 精品国产一二三| 国产精品欧美一区喷水| 亚洲精品免费在线播放| 亚洲va欧美va人人爽| 极品美女销魂一区二区三区免费 | 蜜臀av性久久久久av蜜臀妖精 | 亚洲va在线va天堂| 免费三级欧美电影| jlzzjlzz亚洲日本少妇| 7777精品伊人久久久大香线蕉经典版下载| 51精品视频一区二区三区| 久久久久久久综合日本| 亚洲伊人伊色伊影伊综合网| 日本中文一区二区三区| 不卡的电视剧免费网站有什么| 欧美亚洲综合在线| 国产精品麻豆视频| 日本不卡不码高清免费观看| hitomi一区二区三区精品| 欧美日韩电影在线| 中文在线一区二区| 国产精一品亚洲二区在线视频| 欧美变态tickle挠乳网站| 亚洲人成亚洲人成在线观看图片| 看电视剧不卡顿的网站| 在线亚洲高清视频| 国产精品久99| 成人性视频免费网站| 中文字幕va一区二区三区| 国产高清亚洲一区| 日韩三区在线观看| 日本女优在线视频一区二区| 欧美日韩激情在线| 午夜电影网一区| 51午夜精品国产| 美国av一区二区| 久久久91精品国产一区二区精品| 美脚の诱脚舐め脚责91| 日韩视频免费观看高清完整版在线观看 | 日本一区免费视频| 9色porny自拍视频一区二区| 国产精品免费视频观看| av午夜一区麻豆| 亚洲第四色夜色| 日韩欧美一级二级三级| 国产sm精品调教视频网站| 综合欧美亚洲日本| 欧美久久久久中文字幕| 久久国产福利国产秒拍| 国产视频不卡一区| 色综合久久88色综合天天免费| 成人性生交大片| 亚洲国产日日夜夜| 亚洲精品在线电影| 成人h精品动漫一区二区三区| 一区二区三区在线免费观看 | 欧美一区二区日韩| 播五月开心婷婷综合| 亚洲日本免费电影| 精品久久久久久亚洲综合网| 99久久精品免费看国产免费软件| 一区二区理论电影在线观看| 欧美一级xxx| 一道本成人在线| 久久99热国产| 亚洲一区在线视频| 国产精品免费丝袜| 久久影院视频免费| 欧美日韩精品欧美日韩精品一综合| 欧美aa在线视频| 伊人婷婷欧美激情| 国产欧美综合在线观看第十页| 在线精品亚洲一区二区不卡| 成人一级视频在线观看| 麻豆91在线播放| 三级欧美韩日大片在线看| 亚洲欧洲性图库| 中文av一区特黄| 久久久精品综合| 欧美一级一级性生活免费录像| 欧美日精品一区视频| a在线欧美一区| 国产综合色在线视频区| 久久99精品久久久久久| 久久精品久久综合| 激情综合色综合久久综合| 青青草97国产精品免费观看无弹窗版| 亚洲日本va午夜在线影院| 亚洲欧洲中文日韩久久av乱码| 国产精品美女久久久久aⅴ| 中文字幕不卡一区| 亚洲激情第一区| 亚洲欧洲精品一区二区精品久久久 | 欧美精品一区男女天堂| 久久夜色精品国产欧美乱极品| 2023国产精品自拍| 蜜臀av性久久久久蜜臀aⅴ流畅| 五月天丁香久久| 久久国产日韩欧美精品| 高清日韩电视剧大全免费| 一本久道久久综合中文字幕| 欧美精品18+| 亚洲国产成人在线| 肉色丝袜一区二区| 国产v日产∨综合v精品视频| 91麻豆国产在线观看| 7777精品伊人久久久大香线蕉经典版下载| 欧美一区二区国产| 日韩毛片一二三区| 捆绑调教一区二区三区| 成人av在线资源| 欧美一级日韩一级| 亚洲欧洲综合另类| 麻豆视频观看网址久久| 91在线精品一区二区| 欧美一二三在线| 久久精品欧美日韩精品| 久久午夜免费电影| 国产精品五月天| 秋霞电影一区二区| 精品日产卡一卡二卡麻豆| 免费在线观看视频一区| 久久久影视传媒| 成人av在线电影| 亚洲国产wwwccc36天堂| 日韩欧美一区二区久久婷婷| 精品一区二区日韩| 欧美一区二区大片| 蜜桃免费网站一区二区三区| 欧美剧在线免费观看网站| 一区二区理论电影在线观看| 99国产精品久久| 一区二区国产视频| 欧美日韩一本到| 日韩精品91亚洲二区在线观看| 欧洲精品视频在线观看| 午夜精品福利久久久| 欧美不卡激情三级在线观看| 国产精品综合在线视频| 亚洲人吸女人奶水| 日韩一区二区三区免费看| 国产美女在线精品|