手机版

程序源代码(3)

时间:2025-07-14   来源:未知    
字号:

*=2;
return temp;
}
int main()
{static unsigned char alawbyte[5000000];//存放A率压缩后的样值
int channel=0,samplespersec=0,bitpersample=0;
static int data[5000000];
long offset=0;
static int head[44];
static int a[1000000];
int i;
int j=0;
int k=0;
int l=0;
long samples=0;
static int bitstream[5000000];
static int bitstream1[5000000];
static int bit[5000000];
static int bit1[5000000][8];
ifstream in("LSB替换后的加密语音alaw.wav",ios::binary);
if(!in)
{ cout<<"Cannot open input file.\n";
return 1;}
offset=0;
in.seekg(offset,ios::beg);
for(i=0;i<=28;i++)
in.read((char *)&head[i],2);//将头文件读入HEAD数组
offset=54;
in.seekg(offset,ios::beg);
in.read((char *)&samples,4);
cout<<"该文件样本数为:"<<samples<<endl;
offset=58;
in.seekg(offset,ios::beg);
for(i=0;i<=samples-1;i++)
{in.read((char *)&data[i],1);}//首先将数据全部读入data数组中
in.close();
k=1;l=0;
i=0;

for(i=0;i<=samples-1;i++)
{
if(data[i]%2==0)
{bit[l]=0;l++;}
else
{bit[l]=1;l++;}
//cout<<bit[i]<<' ';
//cout<<l<<endl;
}
for(i=0;i<=l;i++)
{
bit1[(i/8)][i%8]=bit[i];
}
for(i=0;i<=(l/8);i++)
{
a[i]=0;
for(j=0;j<8;j++)
a[i]+=bit1[i][j]*(multiply(7-j));
}
cout<<endl;
// for(i=0;i<(l/8);i++)
//cout<<a[i]<<' '<<endl;

ofstream out1("恢复的压缩密文m8000-1out_high.wav",ios::binary);
if(!out1)
{cout<<"Cannot open output file.\n!";
return 1;}
offset=0;
out1.seekp(offset,ios::beg);
k=0;
for(i=0;i<=(l/8);i++)
{
out1.write((char *)&a[i],2);
k++;}
out1.close();
return 0;}


(四)恢复源密文的程序代码
#include"iostream.h"
#include"math.h"
#include"stdlib.h"
#include"time.h"
#include"stdio.h"
#include"fstream.h"
#include"io.h"

char getword(FILE *fp)
{int *s;
int i;
s=&i;
s[0]=getc(fp);
s[1]=getc(fp);
return (i);}//读入一个字

int main()
{ static unsigned char alawbyte[5000000];//存放A率压缩后的样值
static int data[5000000];
long offset=0;
int i;
int j=0;
int k=0;
long samples=0;
static int abit[5000000];
static int bbit[5000000];
static int c[5000000];
static int d[5000000];
static int e[5000000];
int m=0;int n=0;int l=0;int t=0;int p=0;int q=0;int w=0;

FILE *fp;
if((fp=fopen("G723.1编码提零压缩后的相对关系abit.wav","rb"))==NULL)
{ cout<<"cannot open file"<<endl;
exit(0);}
i=0;
while(!feof(fp))
{ abit[i]=getc(fp);
i++;}
fclose(fp);

//FILE *fp;
if((fp=fopen("G723.1编码提零压缩后的相对关系bbit.wav","rb"))==NULL)
{ cout<<"cannot open file"<<endl;
exit(0);}
l=0;
while(!feof(fp))
{ bbit[l]=getc(fp);
l++;}
fclose(fp);

//FILE *fp;
if((fp=fopen("G723.1编码提零压缩后的零元素的数组b.wav","
rb"))==NULL)
{ cout<<"cannot open file"<<endl;
exit(0);}
j=0;
while(!feof(fp))
{ c[j]=getc(fp);
j++;}
fcl

…… 此处隐藏:355字,全部文档内容请下载后查看。喜欢就下载吧 ……
程序源代码(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)