电子商务程序员面试必考题(五):信息加密的中坚考虑

数据库是网下的根基,良好的发明结构设计,对全部应用由在举足轻重的用意。

源于微信公众账号:开点工作室(ID:kaidiancs)

数据库设计的步骤:
1.需分析:数据是什么,有哪性,数据及属性之表征
2.逻辑设计:使用ER图对数据库进行逻辑建模
3.大体设计:选择数据库系统,并针对逻辑设计开展转发
4.保安优化:追加,分拆等

   
 信息加密是电脑网络安全备受千篇一律件重要之技术,利用密码学的规律及措施对数码传提供保护的一手。信息加密的相似模型如果图1所出示:

 

                                                                       
               图1消息加密的相似模型

实例演示(电子商务网站)

     
 其中公然是输入的本来面目信息;密文是公然经过加密变换后底结果;密钥是介入密码变换的参数,包括加密密钥和解密密钥;加密算法是拿公开变换为密文的变换函数,相应的变过程叫加密;解密算法是以密文恢复也明的变换函数,相应的变过程叫解密。信息加密的渴求是满足:

平、需求分析:

   
 即用加密算法得到的密文总是能因此得之解密算法恢复来老之明白来。最优异之加密技术是无攻击者获取了有些密文,都心有余而力不足唯一地规定相应之公然,这种情况称无条件安全要理论及不可破译。但于实际上情况中,只要给足够的时间与布局足够强大的计量资源,几乎任何密码体制还是得破译的。因此,人们进一步关心的凡当自然之日与计算资源限制下,密码体制是否可于破译。如果有一样密码体制于少数的光阴外为得下的测算资源破译,则称该密码体制在测算上是未安全之。

用户模块:用于登录以及保存用户信息相当
性能(用户称、密码、手机、邮箱、身份证、地址、姓名。。。)
唯一标识(用户称、身份证、手机) 存储特点(永久)

   
密码体制根据加密原理的差足以分成对称密钥密码体制及不对称密钥密码体制两栽档次。

商品模块:用于记录网站遭遇销售的商品信息
属性(编码、名称、描述、分类、供应商、价格。。。) 
唯一标识(编码、名称+供应商)  存储特点(不以销售货物而归档)

    1.针对称密钥密码体制

订单模块:用于用户订购商品的信息
特性(订单号、收件人、电话、地址、商品名称与数量、订单状态、支付状态) 
唯一标识(订单号) 存储特点(分表分库)

   
对称密钥密码体制同时如单密钥密码体制,是乘加密密钥和解密密钥相同的密码体制。对称密钥密码体制的保密性主要取决于对密钥的秘,其加密和解密算法是公开之。在开展加密之前,首先使发一个密钥,该密钥或者是因为信息发送方生产,然后经保密的信道传递让接收方;或者由可信的老三正值生成,然后通过保密的信道分别发送给发送方和接收方。要包对称密钥密码体制的安全性,其加密算法必须足够复杂,同时其密钥必须保密并且发生足深之密钥空间,从而让攻击者在收获密文和晓加密算法的图景下,仍然无法恢复出明文。最有震慑之相辅相成密钥密码体制是1977年美国国家标准局颁布的数码加密标准DES,DES的核心思维是:将公开分成多只组,每个组是64各长的二进制数据,然后针对每组64号二进制数据开展加密处理,产生相同组64各项之密文数据,各组密文数据做整个的密文。采用64个二进制的密钥,其中有效密钥为56位,8位用于奇偶校验。DES采用的加密算法由初始置换、乘积变换、逆初始置换等手续做,具有足够的复杂度,而且56个长之密钥意味着共有256种或的密钥。但随着电脑性能的频频增强,DES的56各项密钥已经不可知满足安全性要求,因此应运而生了下128员密钥的国际数据加密算法IDEA,可以假设密钥空间足够深,更加难为拿下。

购物车模块:用于保存用户购物时选的货品
性(编号、用户称、商品编号名称数量价格、加入时间) 
唯一标识(购物车编号) 存储特点(不用永久,可定时归档与清理)

     2.非对称密钥密码体制

供应商模块:用于保存所销售货物的供应商信息
性能(编号、名称、联系人、营业执照号) 
唯一标识(编号、营业执照号)  存储特点(永久)

   
非对称密钥密码体制同时曰双密钥密码体制,其利害攸关特点加密密钥和解密密钥不同,而且难以打一个出产另一个。每次生成密钥时都异常成有例外的密钥,其中一个凡是加密密钥,是于公众公开的,称之为公钥;另一个凡是解密密钥,是针对民众保密的,称之为私钥。加密算法和解密算法也是堂而皇之的。双密钥密码体制发生的要由产生零星单:一凡是为化解对称密钥密码体制被的密钥管理以及分配问题;二凡是以满足对数字签名的急需。每个用户以获好的密钥对后,将加密密钥公开让网络被之其他用户,当其他用户需要让某用户发送数据时,使用该用户公开之加密密钥进行加密,该用户接受密文后,用好保留的解密密钥进行解密,还原出明文。非对称密钥密码体制的亮点是可公开加密密钥,只需要用户自己对解密密钥进行保密,大大简化了密钥的管制及导。最闻名的未对称密钥密码体制是RSA密码体制。

电子商务 1

   
不管是针对性如密钥加密体制要未对如密钥加密样式,加密算法和解密算法都是当众的,信息加密的安全性完全在对密钥的安康维护及,而什么为通信中的用户展开密钥分配又是密钥管理着之一个基本问题。密钥的分配又分为对称密钥的分配与未对如密钥的分红。

 

    1.针对性称密钥分配

第二、逻辑设计:

   
假设网络发生n个用户,其中的轻易两只人口如开展加密通信,且加密密钥和解密密钥相同,则合计需要n(n-1)个密钥。如果每半独用户共享一个密钥,则网络通信需要的密钥数为n(n-1)/2。为了管住大量底密钥,并且能够平平安安地传递给通信中之双方,需要在网络中装置同一大专门的密钥分配服务器,称之为密钥分配基本KDC。KDC的职责是吗每次要开展加密通信的用户分配一个仅仅以相同不行的密钥。网络被待展开加密通信的用户还设当KDC服务器受到开展注册,并且取得一个用户以及KDC服务器进行加密通信的密钥,称之为主密钥。KDC进行密钥分配的过程如下所陈述:

ER图:矩形(实体);菱形(联系集);椭圆(属性【下划线为主键】);线段(连接)
牵连集主要用于以多针对性几近干转移为同对准多(即成立平等布置关系表)

   
假设网络被发生用户A想与用户B进行加密通信,则率先向KDC服务器用明发送数据,表明想如果同B进行加密通信。发送的公开中蕴含A和B在KDC服务器被所报的地位。KDC服务器接到A的乞求后,利用自由数出一个供A和B加密通信使用的密钥KAB,将KAB和一个叫“票据”(ticket)的数据段打包并且用A的主密钥加密一起发送给A。票据遭蕴含A和B在KDC中注册之位置跟KAB,并且动B的主密钥进行加密。A在收KDC发回之多少报文后,将票转发给B。当B收到A转发来之票据后,使用好之主密钥进行解密,得到了A和B在KDC中之挂号身份,就掌握A要和她进行通信,同时为领略了KDC为A和B通信所分配的密钥KAB。这样,A就得以KAB与B进行加密通信了。

电子商务 2

   
目前运最普遍的相得益彰密钥分配协议是出于美国麻省理工学院MIT开发之Kerberos,它用于网络被客户端与服务器之间加密通信的密钥分配,其基本原理可以概括为:

数据库设计范式:

   
Kerberos协议设置了个别独服务器,分别是可辨服务器AS和票据授予服务器TGS,其中鉴别服务器AS具备KDC的效益,保存了各个用户登记之身份与对应的主密钥。票据授予服务器TGS负责向用户发送票据。假设有客户端A要盖加密的方法访服务器B,Kerberos需要鉴别确实是A而无是其他用户冒充A向B请求服务,才见面向A和B分配加密应用的密钥。

第一范式:每一样排属性都是不可分割的原子数据项(即每个属性不克重复分开)。
案例:将地址分为省、城市、区县城、详细(街道门牌),四个不得分割部分。

    2.非对准如密钥(公钥)的分红

仲范式:要求实体的属性完全靠让主关键字(即为每个实体建立唯一主键来区分)。
案例:学生信息表中,学号+课程→成绩,成绩无法完全靠让主键学号。

   
非对称密钥体制(公钥体制)的为主考虑是行使简单单密钥,一个公钥作为加密密钥,一个私钥作为用户专有的解密密钥,通信双方不待以网被传递私钥。但以公钥体制被,如果发送方想要骗接收方,可以以假乱真其他用户身份使发送温馨之公钥,那么接收方如何判定接受至的公钥和用户身份是否一致即是一个题目。为了要网络中的具有用户都能掌握其他用户的实在公钥,必须使以网络中安装一个不过信任的权威机构,称之为认证中心CA。CA将用户的公钥与该实际身份的标识信息(如IP地址)进行绑定,每一个用户和那个公钥的绑定称为证书。CA为每个需要进行安全通信的用户发布它的证件。CA进行认证的工作原理描述如下:假设用户A想以及用户B进行加密通信,A将团结之关系发送给B,证书中概括了A的地位与公钥;B需要肯定A证书之实在,就于关系之颁发者CA发送报文进行认证。CA根据B所发送证书被的公钥确定该拥有者的实际身份(或者是用户A,或者是其他用户),并摇身一变新的证件,利用CA的私钥对新证书加密后传给B。由于CA的公钥是朝着用户公开之,则B收到CA发送回来的新证件后,使用CA的公钥进行解密,获得证件中之用户位置,从而对用户A的位置展开确认。认证中心便是出于内阁要很企业建立,可以提供收款还是免费之说明服务。目前Internet中之电子商务、网上银行、网上证券等作业受密钥分配都采取这种公钥分配的国策,其据的正经是ITU-T所制定的X.509协议。以公钥分配技术呢根基形成的Internet公钥分配基础设备称为公钥基础结构(PublicKey
Infrastructure,PKI)。

老三范式:在2NF基础及,任何不主属性不依靠让其它未主属性(在2NF基础及铲除传递依赖,减少数额冗余)
案例:员工信息表中,添加机构编号后,不可再补充加单位称简介等因部门编号的属性。

复多计算机专业技术文章、笔试面试资料尽在微信公众账号:开点工作室。

BC范式:在3NF基础及,任何不主属性不能够对主键子集依赖(在3NF基础及解除对主码子集的因)

 

老三、物理设计

1、选择当的数据库系统

2、定义数据库、表和字段的命名规范

3、根据数据库系统安装字段类型(优先数字型,其次日期与二进制,最后字符串)

4、反范式化设计(方便查询,提高效率)

列类型   存储空间
 TINYINT   1字节 
SMALLINT   2字节 
MEDIUMINT    3字节
INT    4字节
BINGINT    8字节
DATE    3字节
DARETIME    8字节
TIMESTAMP    4字节
CHAR(M)    M字节,1<=M<=255
VARCHAR(M)   L+1字节,L<M&&1<=M<=255

 

 

 

 

 

 

 

 

 

 

 

 

 

季、维护优化

1、维护数据字典

2、维护索引

3、维护的申结构

4、表底拆分(垂直、水平)

直拆分原则:将常用的字段与不常用底字段依据id主键拆分为少独或多个说明,减少表的升幅

水平拆分原则:将历史要过期数据水平拆分成基本上单说明,减少表底尺寸

Leave a Comment.