parent
4b5dbda463
commit
5dc01a5f29
@ -0,0 +1,76 @@
|
||||
--------数据库加密部分--------
|
||||
|
||||
创建数据库主密钥
|
||||
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='passW@ord'
|
||||
--创建证书
|
||||
CREATE CERTIFICATE TestCert with SUBJECT = 'Test Certificate'
|
||||
GO
|
||||
--创建对称密钥
|
||||
CREATE SYMMETRIC KEY TestSymmetric WITH ALGORITHM = AES_256
|
||||
ENCRYPTION BY CERTIFICATE TestCert
|
||||
GO
|
||||
|
||||
学生加密:
|
||||
OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;
|
||||
INSERT INTO STUDENT values('123','张三','男','信工院','123456789987654321'
|
||||
ENCRYPTBYKEY(Key_Guid(N'TestSymmetric'), '123456'));
|
||||
CLOSE SYMMETRIC KEY TestSymmetric;
|
||||
GO
|
||||
--查看加密后的数据
|
||||
SELECT * FROM STUDENT
|
||||
GO
|
||||
--解密数据
|
||||
OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;
|
||||
SELECT sno,sname,ssex, CAST(DecryptByKey(s_password) as varchar(100)) Password FROM STUDENT;
|
||||
CLOSE SYMMETRIC KEY TestSymmetric;
|
||||
GO
|
||||
|
||||
--------数据库教师表--------
|
||||
|
||||
create table teacher(
|
||||
tno varchar(20) CONSTRAINT Teacher_PRIM PRIMARY KEY not null,
|
||||
tname nvarchar(10) not NULL,
|
||||
tsex char(4) CONSTRAINT tsex_c check(tsex='男' or tsex='女'),
|
||||
Dept_ID varchar(20),
|
||||
Title varchar(20) constraint title_c check(Title='教授'or Title='副教授' or Title='讲师' or Title='助教'),
|
||||
tID_Card char(18) CONSTRAINT tID_check check (tID_Card LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][Xx0-9]'),
|
||||
t_password varbinary(1000)
|
||||
)
|
||||
|
||||
--------数据库试卷表--------
|
||||
|
||||
create table Paper(
|
||||
Paper_id int,
|
||||
tno varchar(20),
|
||||
q_type varchar(10),
|
||||
q_id int
|
||||
)
|
||||
alter table Paper
|
||||
add plevel char(2) check(plevel='A' or plevel='B' or plevel='C')
|
||||
|
||||
--------数据库试卷-试题表--------
|
||||
|
||||
create table TestPaper(
|
||||
Paper_id int ,
|
||||
q_id int
|
||||
)
|
||||
|
||||
--------数据库试题表--------
|
||||
|
||||
create table question(
|
||||
q_type varchar(10) not null,
|
||||
q_id int CONSTRAINT question_PRIM PRIMARY KEY not null,
|
||||
answer varchar(200)
|
||||
)
|
||||
|
||||
--------数据库学生表--------
|
||||
|
||||
create table student(
|
||||
sno varchar(20) CONSTRAINT Student_PRIM PRIMARY KEY not null,
|
||||
sname nvarchar(10) not NULL,
|
||||
ssex char(4) CONSTRAINT sex_c check(ssex='男' or ssex='女'),
|
||||
Dept_ID varchar(20),
|
||||
ID_Card char(18) CONSTRAINT ID_check check (ID_Card LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][Xx0-9]'),
|
||||
s_password varbinary(1000)
|
||||
)
|
||||
|
||||
Loading…
Reference in new issue