请将数字签名的工作过程补充完整:
(1)发送方使用哈希算法对原始消息进行运算,生成(1),并用(2)对其进行数字签名;
(2)发送方将原始消息和数字签名一起发送给接收方;
(3)接收方采用同样的哈希算法对原始消息进行处理,并用发送发的(3)对数字签名进行解密和验证。
(1)补充类Employee的构造函数,请使用字符串函数将数据成员name,address,city,province和zipcode分别初始化为参数*nm,*addr,*city,*prov和*zip的值。请在注释“//**1**”之后添加适当的语句;
(2)完成类Employee的成员函数ChangeName(char * newName)的定义,将newName指向的内容赋值给数据成员name,请在注释“//**2**”之后添加适当的语句;
(3)完成类Employee的成员函数Display()的定义,先使用指针buffer动态申请一个char型的200单位大小的空间,然后使用字符串函数将数据成员name和address依次复制其中,最后返回该指针buffer,将请在注释“//**3**”之后添加适当的语句。输出结果如下:
王东建国路大街105号
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test18_3.cpp清单如下:
include <iostream.h>
include <string.h>
class Employee{
protected:
char name[20];
char address[100];
char city[20];
char province[20];
char zipcode[10];
public:
Employee(char *nm, char *addr,char *city, char *prov, char *zip);
void ChangeName(char *newName);
char *Display();
};
Employee::Employee(char *nm, char *adr, char *cit, char *prov, char *zip)
{
//**1**
strcpy(city, cit);
strcpy(province,prov);
strcpy(zipcode,zip);
}
void Employee::ChangeName(char * newName)
{
//**2**
}
char *Employee::Display()
{
//**3**
strcat(buffer, address);
return buffer;
}
void main()
{
Employee emp("李华","建国路大街105号","石家庄","河北","103400");
emp. ChangeName ("王东");
cout<<emp.Display()<<end1;
}
●试题八
阅读以下说明和C++代码,将解答写入答题纸的对应栏内。
【说明】
源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。
1.补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。
2.完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员b和a。
3.完成类vector的友元函数friend double Multiply(vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件vectorClass.cpp清单如下:
#include <iostream.h>
class vector
{
int a;
int b;
public:
vector((1) ): (2)
{
}
void input(int x,int y)
{ (3)
}
void output()
{
cout<<'('<<a<<','<<b<<")"<<endl;
}
friend double Multiply(vector &x,vector &y);
};
double Multiply(vector &x,vector &y)
{
double c;
(4)
return c;
}
void main()
{
vector x(10,20),y;
double d;
y.input(2,3);
d=Multiply(x,y);
cout<<d<<endl;
}
程序输出结果是: (5) 。
A.舱单申报,是进出境货物报关的一个重要事项
B.舱单包括原始舱单、预配舱单和装(乘)载舱单
C.原始舱单是指舱单传输人向海关传输的反映进境运输工具装载货物、物品或者乘载旅客信息的舱单
D.预配舱单与装(乘)载舱单,都是针对出境运输工具而言的。
A.人都有思想,狗不是人,所以狗没有思想。
B.商品都有价值,商品都是劳动产品。所以,劳动产品都有价值。
C.所有技术骨干都刻苦学习,小张不是技术骨干,所以,小张不是刻苦学习的人。
D.犯罪行为都是违法行为,犯罪行为都应受到社会的谴责。所以,违法行为都应受到社会谴责。
试题(54)、(55)
用于保护通信过程的初级密钥在分配和传输过程中,通常的形式是(54) ,利用其加密或解密时,应实施的操作是(55) 。
(54)
A. 一次一密的明文
B. 一次一密的密文
C. 可多次使用的密文
D. 不限次数的密文
(55)
A. 利用二级密钥解密出原始密钥
B. 利用主密钥解密出原始密钥
C. 利用二级密钥和主密钥解密出原始密钥
D. 利用自身私钥解密出原始密钥