基于LSB的信息隐藏实现

LSB就是最不重要位信息隐藏算法,读取出图片中每个点的象素值,然后把信息的bit序列填充到这些象素的最低上.然后在分析检测的时候提取出最低位,就可以恢复原始信息.因为是在最低位上进行隐藏,所以图像的失真是比较小的,肉眼无法察觉,但是它会破坏图像的统计特性,这样通过统计的方法可以检测到有信息的嵌入.此外在图片有损压缩时,隐藏的信息容易丢失.如果嵌入高位,会带来失真,但是嵌入强度高,可以抵御有损压缩.

/*

位操作的类,自己写的.

*

 // BitOperate.cpp: implementation of the BitOperate class.
//
//

#include "stdafx.h"
#include "BitOperate.h"
#include "iostream.h"

//
// Construction/Destruction
//

BitOperate::BitOperate()
{

}

BitOperate::~BitOperate()
{

}
/*
功能:把ch从右数的第position位设置为value;
*/
byte BitOperate::bitSet(byte ch, short position, bool value)
{
    byte temp = ch;
 if(position>8||position<1)
 {
     cout<<"Out of Bound! Position must be a number between 1 --- 8 "<<endl;
  return ch;
 }
 bool bit = bitAt(temp,position);
 if(bit^value)//如果不相同的话
 {
        if(bit == 0)
  {
   byte m = (byte)value;
   for(int i = 1;i<position;i++)
    m = m<<1;
   ch+=m;
   return ch;
  }
  else
  {
           byte m = (byte)bit;
   for(int i = 1;i<position;i++)
    m = m<<

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值