电子商务与安全实验哈工大Word下载.docx
《电子商务与安全实验哈工大Word下载.docx》由会员分享,可在线阅读,更多相关《电子商务与安全实验哈工大Word下载.docx(59页珍藏版)》请在冰点文库上搜索。
![电子商务与安全实验哈工大Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/080b0994-6d8e-40a8-819f-d6157714297d/080b0994-6d8e-40a8-819f-d6157714297d1.gif)
php
$conn=@mysql_connect("
localhost"
"
root"
"
)ordie("
数据库链接错误"
);
mysql_select_db("
bbs"
$conn);
mysql_query("
setnames'
GBK'
//使用GBK中文编码;
define(ALL_PS,"
NUM"
functionhtmtocode($content){
$content = str_replace("
\n"
"
br>
str_replace("
"
&
nbsp;
$content));
return$content;
}//解决输入中空格与回车等问题
>
2.login.php
phpinclude("
conn.php"
if($_POST[submit]){//判断是否点击了按钮
$user1=str_replace("
"
"
$_POST[user]);
//对用户名去空格处理
$query=mysql_query("
SELECT*FROMlogin"
$row=mysql_fetch_array($query);
$is=md5($_POST[pw].ALL_PS)==$row[pw];
//对密码加密处理
if($user1==$row[user]){//用户名匹配
if(md5($_POST[pw].ALL_PS)==$row[pw]){//加密后的密码匹配
SCRIPTlanguage=javascript>
alert("
登录成功!
/SCRIPT>
echo "
script
language=\"
javascript\"
location.href='
liulan.php'
;
/script>
//匹配成功,跳转页面
}else{
密码错误!
}
用户名不正确!
//以下为输入框判空?
functionChecklogin()
{
if(myform.id.value=="
)
请填写登录名"
myform.id.focus();
returnfalse;
if(myform.pw.value=="
密码不能为空"
myform.pw.focus();
formaction="
method="
post"
name="
myform"
onsubmit="
returnChecklogin();
ID:
inputtype="
text"
user"
/>
PW:
input type="
password"
name="
pw"
/>
<
submit"
value="
登陆"
/>
/form>
3.add1.php
if($_POST['
submit'
]){
$sql="
insertintomessage(id,user,title,content,lastdate)"
."
values
('
'
'
$_POST[user]'
$_POST[title]'
$_POST[content]'
now())"
mysql_query($sql);
script language=\"
alert('
添加成功'
history.go(-1)
//include("
head.php"
functionCheckPost()
if(myform.user.value=="
请填写用户名"
myform.user.focus();
if(myform.title.value.length<
5)
标题不能少于5个字符"
myform.title.focus();
returnfalse;
if(myform.content.value=="
必须要填写留言内容"
myform.content.focus();
form action="
add.php"
method="
onsubmit="
returnCheckPost();
用户:
size="
50"
标题:
title"
br/>
内容:
textareaname="
content"
cols="
60"
rows="
12"
/textarea>
发布留言"
4.list1.php
include("
$pagesize=3;
$url=$_SERVER["
REQUEST_URI"
];
$url=parse_url($url);
$url=$url[path];
$numq=mysql_query("
SELECT*FROMmessage"
$num=mysql_num_rows($numq);
if($_GET[page]){
$pageval=$_GET[page];
$page=($pageval-1)*$pagesize;
$page.='
if($num>
$pagesize){if($pageval<
=0)$pageval=1;
echo"
共<
b>
$num<
/b>
条记录。
."
||||||"
.
ahref=$url?
page="
.($pageval-1)."
上一页<
/a>
."
||"
."
.($pageval+1)."
下一页<
$num4=$page+$pagesize;
$page2=$page+1;
当前显示为:
$page2<
-->
hr>
$num4<
页。
$num2=0;
$num3=$num2+$page;
SELECT*FROM`message`limit$page$pagesize"
while($row=mysql_fetch_array($query)){
$num3++;
table width=500 border="
0"
cellpadding="
5"
cellspacing="
1"
bgcolor="
#add3ef"
tr>
td>
echo$num3."
=$row[title]?
/br>
/td>
trbgcolor="
#eff3ff"
用户名:
=$row[user]."
|||"
发表时间:
echo$row[lastdate]?
/tr>
trbgColor="
#ffffff"
echohtmtocode($row[content]);
/table>
注:
打开jianjie.php就能运行整个程序。
实验2:
学习电子商务安全实验(4学时)
1.掌握电子商务数据加密与数字签名技术,掌握PGP电子邮件软件加密技术思想,写出工作流程。
2.自己设计一种加密算法完成文本或图像数据的加、解密实验。
实 验 报 告2
该程序用mfc编写,能实现txt文本加密
1.程序外观
2.加密过程
3.解密过程
5.加密解密前后文本对比
主要代码:
voidCFile_des_mfcView:
:
OnOpen()
//TODO:
AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);
system(s);
UpdateData(FALSE);
/*DES中的各个子函数 */
charIP_PERMUTE[64]={\58,50,42,34,26,18,10,2,\
60,52,44,36,28,20,12,4,\
62,54,46,38,30,22,14,6,\
64,56,48,40,32,24,16,8,\
57,49,41,33,25,17,9,1,\
59,51,43,35,27,19,11,3,\
////////\\\\\\\\\\各种表
61,53,45,37,29,21,13,5,\
63,55,47,39,31,23,15,7};
charIP_PERMUTE_1[64]={\40,8,48,16,56,24,64,32,\
39,7,47,15,55,23,63,31,\
38,6,46,14,54,22,62,30,\
37,5,45,13,53,21,61,29,\
36,4,44,12,52,20,60,28,\
35,3,43,11,51,19,59,27,\
34,2,42,10,50,18,58,26,\
33,1,41,9,49,17,57,25};
charP_PERMUTE[32]={\16,7,20,21,\
29,12,28,17,\
1,15,23,26,\
5,18,31,10,\
2,8,24,14,\
32,27,3,9,\
19,13,30,6,\
22,11,4,25};
charS_BOX1[4][16]={\14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,\
0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,\
4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,\
15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13};
charS_BOX2[4][16]={\15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,\
3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,\
0,14,7,11,10,4,12,1,5,8,12,6,9,3,2,15,\
13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9};
charS_BOX3[4][16]={\10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,\
13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,\
13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,\
1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,};
charS_BOX4[4][16]={\7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,\
13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,\
10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,\
3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14};
charS_BOX5[4][16]={\2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,\
14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,\
4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,\
11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3};
charS_BOX6[4][16]={\12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,\
10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,\
9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,\
4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13};
charS_BOX7[4][16]={\4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,2,\
13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,\
1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,\
6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12};
charS_BOX8[4][16]={\13,2,8,4,6,14,11,1,10,9,3,14,5,0,12,7,\
1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,\
7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,\
2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11};
charPC_PERMUTE1[56]={\57,49,41,33,25,17,9,\
1,58,50,42,34,26,18,\
10,2,59,51,43,35,27,\
19,11,3,60,52,44,36,\
63,55,47,39,31,23,15,\
7,62,54,46,38,30,22,\
14,6,61,53,45,37,29,\
21,13,5,28,20,12,4};
charPC_PERMUTE2[48]={\14,17,11,24,1,5,\
3,28,15,6,21,10,\
23,19,12,4,26,8,\
16,7,27,20,13,2,\
41,52,31,37,47,55,\
30,40,51,45,33,48,\
44,49,39,56,23,53,\
46,42,50,36,29,32};
charLTranslocation[16]={\1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1};
/////////\\\\\IP出示置换\\\\\\\\\\\\//
voidIP_PM(unsignedintx[2]) ///////////ip置换
unsignedtemp[2],flag;
temp[1]=x[1];
temp[0]=x[0];
x[0]=0;
x[1]=0;
for(inti=0;
i<
64;
i++)
if(i<
32)
if(IP_PERMUTE[i]>
flag=64-IP_PERMUTE[i];
else
flag=temp[1]>
flag;
flag=flag&
0x1;
x[0]=2*x[0]+flag;
flag=32-IP_PERMUTE[i];
flag=temp[0]>
flag=flag&
flag=64-IP_PERMUTE[i];
flag=temp[1]>
x[1]=2*x[1]+flag;
voidIP_PM1(unsignedintx[2]) /////////////ip逆置换
unsignedinttemp[2],flag;
x[0]=0;
if(IP_PERMUTE_1[i]>
flag=64-IP_PERMUTE_1[i];
flag=32-IP_PERMUTE_1[i];
voidPC1(unsignedintx[2]) //////////////密钥置换64位到56位
56;
28)
if(PC_PERMUTE1[i]>
flag=64-PC_PERMUTE1[i];
flag=32-PC_PERMUTE1[i];
flag=64-PC_PERMUTE1[i];
voidPC2(unsignedx[2]) ////////////密钥置换56位到48位
48;
24)
if(PC_PERMUTE2[i]>
flag=56-PC_PERMUTE2[i];
flag=28-PC_PERMUTE2[i];
flag=