密码表管理
- 格式:doc
- 大小:52.00 KB
- 文档页数:10
竭诚为您提供优质文档/双击可除个人密码管理表格篇一:工作资源站统计账号密码表格模版篇二:密码表管理密码表管理系统1设计目的、要求(1)可以存储用户名及密码等密码表信息(2)采用一种加密算法将密码表信息加密(3)可以添加、删除、修改已知密码表中的信息(4)可以检索密码信息2设计原理本程序采用维吉尼亚(vigenere)密码体制对用户名和密码等密码表信息进行加密。
3采用软件、设备microsoftVisualstudio20xx4设计内容1、vigenerecipher的加密规则:1)找到一个关键字作为密钥(本程序使用密码为关键字);2)根据vigeneretable找出对应的密文。
2、vigenerecipher的加密原理:1)v(个人密码管理表格)igenere代换表:abcdeFghijklmnopqRstuVwxyzbcdeFghijklmnopqRstuVwxyzacdeFghijklmnopqRstuVwxyzabdeFghijklmnopqRstuVwxyzabceFghijklmnopqRstuVwxyzabcdFghijklmnopqRstuVwxyzabcdeghijklmnopqRstuVwxyzabcdeFhijklmnopqRstuVwxyzabcdeFgijklmnopqRstuVwxyzabcdeFghjklmnopqRstuVwxyzabcdeFghiklmnopqRstuVwxyzabcdeFghijlmnopqRstuVwxyzabcdeFghijkmnopqRstuVwxyzabcdeFghijklnopqRstuVwxyzabcdeFghijklmopqRstuVwxyzabcdeFghijklmnpqRstuVwxyzabcdeFghijklmnoqRstuVwxyzabcdeFghijklmnopRstuVwxyzabcdeFghijklmnopqstuVwxyzabcdeFghijklmnopqRtuVwxyzabcdeFghijklmnopqRsuVwxyzabcdeFghijklmnopqRstVwxyzabcdeFghijklmnopqRstuwxyzabcdeFghijklmnopqRstuVxyzabcdeFghijklmnopqRstuVwyzabcdeFghijklmnopqRstuVwxzabcdeFghijklmnopqRstuVwxy2)加密过程很简单,就是给定密钥字母x和明文字母y,密文字母是位于x行和y列的那个字母。
【基本字母表】┃01┃02┃03┃04┃05┃06┃07┃08┃09┃10┃11┃12┃13┃┠--╂--╂--╂--╂--╂--╂--╂--╂--╂--╂--╂--╂--┨┃A ┃B ┃C ┃D ┃E ┃F ┃G ┃H ┃I ┃J ┃K ┃L ┃M ┃======================================================┃14┃15┃16┃17┃18┃19┃20┃21┃22┃23┃24┃25┃26┃┠--╂--╂--╂--╂--╂--╂--╂--╂--╂--╂--╂--╂--┨┃N ┃O ┃P ┃Q ┃R ┃S ┃T ┃U ┃V ┃W ┃X ┃Y ┃Z ┃================〖QWE加密表〗┃a┃b┃c┃d┃e┃f┃g┃h┃i┃j┃k┃l┃m┃n┃o┃p┃q┃r┃s┃t┃u┃v┃w┃x┃y┃z ┃┠-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-┨┃Q┃W┃E┃R┃T┃Y┃U┃I┃O┃P┃A┃S┃D┃F┃G┃H┃J┃K┃L┃Z┃X┃C┃V┃B┃N┃M┃--------其实QWE加密可以表示成这种形式;--------(a,q,j,p,h,i,o,g,u,x,b,w,v,c,e,t,z,m,d,r,k)(f,y,n)(l,s)--------至于它是什么意思,自己去琢磨.--------至于这种形式比表形式有什么优点,自己去琢磨.【QWE解密表】┃A┃B┃C┃D┃E┃F┃G┃H┃I┃J┃K┃L┃M┃N┃O┃P┃Q┃R┃S┃T┃U┃V┃W ┃X┃Y┃Z┃┠-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-┨┃k┃x┃v┃m┃c┃n┃o┃p┃h┃q┃r┃s┃z┃y┃i┃j┃a┃d┃l┃e┃g┃w┃b┃u┃f┃t ┃================【电脑键盘表】┏!┯@┯#┯$┯%┯^┯&┯*┯(┯)┯_┯+┯|┓┃1│2│3│4│5│6│7│8│9│0│-│=│\┃┃│ │ │ │ │ │ │ │ │ │ │ │ ┃1┃Q│W│E│R│T│Y│U│I│O│P│[│]│ ┃7/8/9 -- Tab┃│ │ │ │ │ │ │ │ │ │ │ │ ┃2┃A│S│D│F│G│H│J│K│L│;│'│ │ ┃4/5/6 -- Caps Lock┃│ │ │ │ │ │ │ │ │ │ │ │ ┃3┃Z│X│C│V│B│N│M│,│.│/│ │ │ ┃1/2/3 -- Shift┗-┷-┷-┷-┷-┷-┷-┷-┷-┷-┷-┷-┷-┛0================【手机键盘表】┏1┯2 ┯3 ┯4 ┯5 ┯6 ┯7 ┯8 ┯9 ┯0┓1┃│ A │ D │ G │ J │ M │ P │ T │ W │ ┃2┃│ B │ E │ H │ K │ N │ Q │ U │ X │ ┃3┃│ C │ F │ I │ L │ O │ R │ V │ Y │ ┃4┗-┷---┷---┷---┷---┷---┷-S-┷---┷-Z-┷-┛================【埃特巴什加密/解密表】┃a┃b┃c┃d┃e┃f┃g┃h┃i┃j┃k┃l┃m┃n┃o┃p┃q┃r┃s┃t┃u┃v┃w┃x┃y┃z ┃┠-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-┨┃Z┃Y┃X┃W┃V┃U┃T┃S┃R┃Q┃P┃O┃N┃M┃L┃K┃J┃I┃H┃G┃F┃E┃D ┃C┃B┃A┃================〖反序QWE加密表〗┃a┃b┃c┃d┃e┃f┃g┃h┃i┃j┃k┃l┃m┃n┃o┃p┃q┃r┃s┃t┃u┃v┃w┃x┃y┃z ┃┠-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-┨┃M┃N┃B┃V┃C┃X┃Z┃L┃K┃J┃H┃G┃F┃D┃S┃A┃P┃O┃I┃U┃Y┃T┃R┃E┃W┃Q┃--------(a,m,f,x,e,c,b,n,d,v,t,u,y,w,r,o,s,i,k,h,l,g,z,q,p)(j)【反序QWE解密表】┃A┃B┃C┃D┃E┃F┃G┃H┃I┃J┃K┃L┃M┃N┃O┃P┃Q┃R┃S┃T┃U┃V┃W ┃X┃Y┃Z┃┠-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-┨┃p┃c┃e┃n┃x┃m┃l┃k┃s┃j┃i┃h┃a┃b┃r┃q┃z┃w┃o┃v┃t┃d┃y┃f┃u┃g ┃摩尔斯电码字母字母编码字母编码A *-B -***C -*-*D -**E *F **-*G --*H ****I **J *---K -*-L *-**M --N -*O ---P *--*Q --*-R *-*S ***T -U **-V ***-W *--X -**-Y -*--Z --**数字0 -----1 *----2 **---3 ***--4 ****-5 *****6 -****7 --***8 ---**9 ----*常用标点句号*-*-*-逗号--**--问号**--**长破折号-***-连字符-****-分数线-**-*特殊符号AR *-*-* 停止(消息结束)AS *-*** 等待K -*- 邀请发射信号(一般跟随AR,表示“该你了”)SK ***-*- 终止(联络结束)BT -***- 分隔符***-* (我将重新发送最后一个单词)** ** (同样)******** 错误非英语字符的一些扩展? *--*-? *-*-à *--*-é **-**ch ----? ---*ü **--" *-**-*! **--*常用缩写AA All after (used after question mark to request a repetition) AB All before (similarly)ARRL American Radio Relay LeagueABT AboutADS AddressAGN AgainANT AntennaBN All betweenBUG Semiautomatic keyC YesCBA Callbook addressCFM ConfirmCLG CallingCQ Calling any stationCUL See you laterCUZ BecauseCW Continuous waveCX ConditionsDE FromDX Distance (sometimes refers to long distance contact)ES AndFB Fine business (Analogous to "OK")FCC Federal Communications CommissionFER ForFREQ FrequencyGA Good afternoon or Go ahead (depending on context) GE Good eveningGM Good morningGND Ground (ground potential)GUD GoodHI LaughterHR HereHV HaveLID Poor operatorMILS MilliamperesNIL NothingNR NumberOB Old boyOC Old chapOM Old man (any male amateur radio operator is an OM) OO Official ObserverOP OperatorOT Old timerOTC Old timers clubOOTC Old old timers clubPSE PleasePWR PowerQCWA Quarter Century Wireless AssociationR I acknowledge or decimal point (depending on context) RCVR ReceiverRPT Repeat or report (depending on context)RST Signal report format (Readability-Signal Strength-Tone) RTTY RadioteletypeRX ReceiveSAE Self addressed envelopeSASE Self addressed, stamped envelopeSED SaidSEZ SaysSIG SignalSIGS SignalsSKED ScheduleSN SoonSOS international distress callSRI SorrySTN StationTEMP TemperatureTMW TomorrowTNX ThanksTU Thank youTX TransmitU YouUR Your or you're (depending on context)URS YoursVY VeryWDS WordsWKD WorkedWL WillWUD WouldWX WeatherXMTR TransmitterXYL WifeYL Young lady (used of any female)73 Best regards88 Love and kisses恺撒密码“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。
竭诚为您提供优质文档/双击可除个人密码管理表格篇一:工作资源站统计账号密码表格模版篇二:密码表管理密码表管理系统1设计目的、要求(1)可以存储用户名及密码等密码表信息(2)采用一种加密算法将密码表信息加密(3)可以添加、删除、修改已知密码表中的信息(4)可以检索密码信息2设计原理本程序采用维吉尼亚(vigenere)密码体制对用户名和密码等密码表信息进行加密。
3采用软件、设备microsoftVisualstudio20xx4设计内容1、vigenerecipher的加密规则:1)找到一个关键字作为密钥(本程序使用密码为关键字);2)根据vigeneretable找出对应的密文。
2、vigenerecipher的加密原理:1)v(个人密码管理表格)igenere代换表:abcdeFghijklmnopqRstuVwxyzbcdeFghijklmnopqRstuVwxyzacdeFghijklmnopqRstuVwxyzabdeFghijklmnopqRstuVwxyzabceFghijklmnopqRstuVwxyzabcdFghijklmnopqRstuVwxyzabcdeghijklmnopqRstuVwxyzabcdeFhijklmnopqRstuVwxyzabcdeFgijklmnopqRstuVwxyzabcdeFghjklmnopqRstuVwxyzabcdeFghiklmnopqRstuVwxyzabcdeFghijlmnopqRstuVwxyzabcdeFghijkmnopqRstuVwxyzabcdeFghijklnopqRstuVwxyzabcdeFghijklmopqRstuVwxyzabcdeFghijklmnpqRstuVwxyzabcdeFghijklmnoqRstuVwxyzabcdeFghijklmnopRstuVwxyzabcdeFghijklmnopqstuVwxyzabcdeFghijklmnopqRtuVwxyzabcdeFghijklmnopqRsuVwxyzabcdeFghijklmnopqRstVwxyzabcdeFghijklmnopqRstuwxyzabcdeFghijklmnopqRstuVxyzabcdeFghijklmnopqRstuVwyzabcdeFghijklmnopqRstuVwxzabcdeFghijklmnopqRstuVwxy2)加密过程很简单,就是给定密钥字母x和明文字母y,密文字母是位于x行和y列的那个字母。
专用计算机的管理制度一、使用者必须遵守《中华人民共和国计算机信息系统安全保护条例》。
二、计算机资源由XX处统一归口管理,登记、备案,并建立准确的资产帐。
各单位应建立《设备履历本》,用以记录设备的原始资料、运行过程中的维修、升级和变更等情况,对计算机硬件资源要加贴标签及编号标识,设备的随机资料(含磁介质、光盘等)及保修(单)卡由XX处保管。
三、配备有专用计算机设备的单位和部门都要指定一名计算机管理员对机器设备进行管理,其对专用计算机资源负有管理责任,使用人在使用专用计算机时,须向该计算机管理员进行申请登记手续,计算机管理员不得随意将专用计算机交予他人使用.四、计算机机房要有完善的安防措施,专用计算机在系统进入、资源共享、屏幕保护等方面必须采取必要的安全保密措施.五、任何人员不得将专用计算机带出办公场所,如因工作需要必需带出的,需履行相应的审批和登记手续。
六、严禁制造和传播计算机病毒,未经许可,任何私人的光盘、软盘、移动存储设备不得在专用计算机设备上使用;专用计算机必需安装防病毒软件并定期升级.七、专用计算机必须采取有效的防盗、防火措施,并做好使用记录。
一、禁止使用专用计算机上国际互联网.二、禁止在专用计算机上使用光盘、软盘以及移动存储设备,严禁在计算机上拷贝安装与工作无关的文件及软件.三、禁止在非专用计算机系统上处理专用信息。
四、各单位的专用计算机资源原则上只能用于该单位的专用工作,禁止利用专用计算机资源从事与该专用工作无关的活动。
五、外单位借用我公司各单位的专用计算机资源(包括借出资源和来公司使用资源)需填写审批单并经单位负责人批准,该计算机的保管人或使用人不得擅自外借。
六、使用人将专用便携式计算机外出携带使用时,须填写《携带便携式计算机外出登记表》,并由单位计算机管理员审批。
返回后,计算机管理员需对计算机进行检查,如实填写计算机情况,七、专用计算机只能由专人使用,未经授权,任何人员不得随意开启或使用专用计算机。
注册表中的密码策略是用来管理用户密码的复杂性、安全性和使用规则的设置。
在Windows 操作系统中,注册表中有以下与密码策略相关的项:1. 密码长度要求(MinimumPasswordLength):指定密码的最小长度。
默认值为7。
2. 密码复杂性要求(PasswordComplexity):指定密码是否需要包含数字、大小写字母和特殊字符等复杂性要求。
默认值为启用(1),即密码必须符合复杂性要求。
3. 密码历史(PasswordHistorySize):指定在密码历史中要保留的旧密码数量。
每次更改密码时,系统会将新密码添加到历史记录中,以便确保每个新密码都是独特的。
默认值为24。
4. 密码最大年龄(MaximumPasswordAge):指定允许的密码使用时间的最大期限。
过了这个期限,用户将被要求更改密码。
默认情况下,密码最大年龄是42 天。
5. 密码最短使用时间(MinimumPasswordAge):指定在设置新密码后要求用户使用该密码的最短时间,即密码的最短使用期。
默认情况下,最短使用时间是0(用户可以立即更改密码)。
6. 密码必须更改(ForceChangePassword):指定在用户首次登录时是否要求更改初始密码。
默认值为禁用(0)。
这些密码策略设置可以通过修改注册表中相应的键值来进行调整。
在注册表中,它们通常位于以下路径中:-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network -HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System需要注意的是,在修改注册表之前,请先备份注册表并小心操作,以避免意外的问题。
另外,某些密码策略可能受到组策略和域策略的影响,因此也可以通过组策略编辑器进行更改。
第一章总则第一条目旳第二条为规范我司办公密码旳使用并保证其安全, 特制定本制度。
第三条合用范畴合用于全体员工。
第四条办公密码旳分类我司办公密码涉及如下五种类型:第二章办公密码管理细则第五条办公密码保管/借用第六条办公密码波及公司机密文献及资料, 各部门办公密码使用人妥善管理自己使用旳办公设备/系统密码, 保管人员直接上级主管/经理必须随时理解所管辖员工保管密码旳更新状况。
第七条若其别人员因工作需要使用到自己保管旳密码, 须经部门主管批准后才可将密码提供别人使用。
在有关人员使用密码后旳一种工作日内, 须及时对密码进行修改, 并及时填写OA流《办公密码变更登记表》申报更改。
第八条电脑开机密码设立第九条办公密码变更申报1、需使用OA流《办公密码变更登记表》申报变更旳状况涉及如下七种: ①更改密码、②更改使用人、③更换密码并更改使用人、④增长备案人、⑤增长使用人、⑥新增密码、⑦其他。
第十条申报负责人:一般状况下, 办公密码变更OA申报由密码保管人(虽然用人)负责。
如因人员离职/调动/休长假需变更密码, 由员工直接上级进行OA申报。
办公室主任负责进行店面办公密码变更OA申报。
第十一条申报时间: 密码产生变更后一种工作日内。
第十二条办公密码登记备案1、密码备案人(一般为部门主管、经理)根据《各岗位人员密码设立对照表》(附件四)旳规定, 负责怪案管辖员工办公密码, 及时更新《办公密码设立登记表》。
一般状况下, 行政经理/部门经理需备案管辖区域/部门所有人员旳密码;部门主管只备案本科室各人员旳密码。
2、公司各员工如因工作需要需备案其他部门密码, 应提前通过公Q向有关部门经理申请, 通过批准后才可进行密码旳备案。
3、密码备案人接受密码保管人因密码变更而进行旳OA流《办公密码变更登记表》申报时, 须及时向有关人员核算拟定密码变更状况, 并更新登记《办公密码设立登记表》。
4、行政管理科负责存档备案各区域/部门《办公密码设立登记表》。
电能表管理系统使用说明第一章系统概述电能表管理系统是一种用于管理和监控电能表的软件系统,能够实时采集电能表的用电数据,并提供数据存储、查询、分析和报表功能。
本系统通过与电能表进行通信,实现对电能表的远程监控和管理,提高了电能管理的效率和精确度。
第二章系统安装1. 硬件要求电能表管理系统可以在普通的个人电脑上运行,但要求配置较高,至少具备4GB内存和500GB硬盘空间。
此外,还需要配备网络接口设备,以便与电能表进行通信。
2. 软件安装将电能表管理系统的安装文件拷贝到电脑上,运行安装程序,按照提示完成安装过程。
安装完成后,系统会在桌面上创建一个快捷方式,双击即可打开系统。
第三章系统登录1. 打开系统双击桌面上的电能表管理系统快捷方式,系统登录界面将弹出。
2. 输入账号和密码在登录界面的账号和密码输入框中输入正确的账号和密码,然后点击“登录”按钮。
3. 进入系统登录成功后,系统将跳转到主界面,显示各个功能模块的入口。
第四章电能表管理1. 添加电能表在主界面中点击“电能表管理”模块的入口,进入电能表管理界面。
点击“添加电能表”按钮,在弹出的对话框中输入电能表的基本信息,包括电能表编号、通信地址、所属区域等,然后点击“确定”按钮完成添加。
2. 修改电能表信息在电能表管理界面,选中需要修改的电能表,在右侧的信息栏中修改电能表的相关信息,然后点击“保存”按钮保存修改。
3. 删除电能表在电能表管理界面,选中需要删除的电能表,在右侧的信息栏中点击“删除”按钮,系统将弹出确认对话框,点击“确定”按钮即可完成删除。
第五章电能数据采集1. 实时采集在主界面中点击“电能数据采集”模块的入口,进入电能数据采集界面。
系统将自动实时采集电能表的用电数据,并在界面上展示当前的电能数据。
2. 手动采集在电能数据采集界面,点击“手动采集”按钮,系统将立即采集电能表的用电数据,并更新界面上的数据。
第六章数据查询与分析1. 查询数据在主界面中点击“数据查询与分析”模块的入口,进入数据查询与分析界面。
.常量数字1, "“E397D1AD9CA2B78E”".常量数字2, "“E094D2AE9FA1B48D”".常量数字3, "“E195D3AF9EA0B58C”".常量数字4, "“E692D4A899A7B28B”".常量数字5, "“E793D5A998A6B38A”".常量数字6, "“E490D6AA9BA5B089”".常量数字7, "“E591D7AB9AA4B188”".常量数字8, "“EA9ED8A495ABBE87”" .常量数字9, "“EB9FD9A594AABF86”".常量数字0, "“E296D0AC9DA3B68F”".常量字母q, "“A3D791EDDCE2F7CE”" .常量字母w, "“A5D197EBDAE4F1C8”" .常量字母e, "“B7C385F9C8F6E3DA”".常量字母r, "“A0D492EEDFE1F4CD”".常量字母t, "“A6D294E8D9E7F2CB”".常量字母y, "“ABDF99E5D4EAFFC6”" .常量字母u, "“A7D395E9D8E6F3CA”".常量字母i, "“BBCF89F5C4FAEFD6”".常量字母o, "“BDC98FF3C2FCE9D0”".常量字母p, "“A2D690ECDDE3F6CF”" .常量字母a, "“B3C781FDCCF2E7DE”".常量字母s, "“A1D593EFDEE0F5CC”".常量字母d, "“B6C284F8C9F7E2DB”".常量字母f, "“B4C086FACBF5E0D9”".常量字母g, "“B5C187FBCAF4E1D8”".常量字母h, "“BACE88F4C5FBEED7”" .常量字母j, "“B8CC8AF6C7F9ECD5”".常量字母k, "“B9CD8BF7C6F8EDD4”" .常量字母l, "“BECA8CF0C1FFEAD3”" .常量字母z, "“A8DC9AE6D7E9FCC5”" .常量字母x, "“AADE98E4D5EBFEC7”" .常量字母c, "“B1C583FFCEF0E5DC”".常量字母v, "“A4D096EADBE5F0C9”".常量字母b, "“B0C482FECFF1E4DD”".常量字母n, "“BCC88EF2C3FDE8D1”".常量字母m, "“BFCB8DF1C0FEEBD2”" .常量字母大Q, "“83F7B1CDFCC2D7EE”" .常量字母大W, "“85F1B7CBFAC4D1E8”" .常量字母大E, "“97E3A5D9E8D6C3FA”" .常量字母大R, "“80F4B2CEFFC1D4ED”" .常量字母大T, "“86F2B4C8F9C7D2EB”" .常量字母大Y, "“8BFFB9C5F4CADFE6”" .常量字母大U, "“87F3B5C9F8C6D3EA”" .常量字母大I, "“9BEFA9D5E4DACFF6”".常量字母大O, "“9DE9AFD3E2DCC9F0”".常量字母大P, "“82F6B0CCFDC3D6EF”".常量字母大A, "“93E7A1DDECD2C7FE”".常量字母大S, "“81F5B3CFFEC0D5EC”".常量字母大D, "“96E2A4D8E9D7C2FB”".常量字母大F, "“94E0A6DAEBD5C0F9”".常量字母大G, "“95E1A7DBEAD4C1F8”".常量字母大H, "“9AEEA8D4E5DBCEF7”".常量字母大J, "“98ECAAD6E7D9CCF5”".常量字母大K, "“99EDABD7E6D8CDF4”".常量字母大L, "“9EEAACD0E1DFCAF3”".常量字母大Z, "“88FCBAC6F7C9DCE5”".常量字母大X, "“8AFEB8C4F5CBDEE7”".常量字母大C, "“91E5A3DFEED0C5FC”".常量字母大V, "“84F0B6CAFBC5D0E9”".常量字母大B, "“90E4A2DEEFD1C4FD”".常量字母大N, "“9CE8AED2E3DDC8F1”".常量字母大M, "“9FEBADD1E0DECBF2”".常量特殊符号0, "“ACD89EE2D3EDF8C1”", , ~ .常量特殊符号1, "“F387C1BD8CB2A79E”", , ! .常量特殊符号2, "“92E6A0DCEDD3C6FF”", , @ .常量特殊符号3, "“F185C3BF8EB0A59C”", , # .常量特殊符号4, "“F682C4B889B7A29B”", , $.常量特殊符号5, "“F783C5B988B6A39A”", , % .常量特殊符号6, "“8CF8BEC2F3CDD8E1”", , ^ .常量特殊符号7, "“F480C6BA8BB5A099”", , & .常量特殊符号8, "“F88CCAB687B9AC95”", , * .常量特殊符号9, "“FA8EC8B485BBAE97”", , ( .常量特殊符号10, "“FB8FC9B584BAAF96”", , ) .常量特殊符号11, "“8DF9BFC3F2CCD9E0”", , _ .常量特殊符号12, "“F98DCBB786B8AD94”", , + .常量特殊符号13, "“A9DD9BE7D6E8FDC4”", , { .常量特殊符号14, "“AFDB9DE1D0EEFBC2”", , } .常量特殊符号15, "“AEDA9CE0D1EFFAC3”", , | .常量特殊符号16, "“E89CDAA697A9BC85”", , : .常量特殊符号17, "“F084C2BE8FB1A49D”", , " .常量特殊符号18, "“EE9ADCA091AFBA83”", , < .常量特殊符号19, "“EC98DEA293ADB881”", , > .常量特殊符号20, "“ED99DFA392ACB980”", , ? .常量特殊符号21, "“89FDBBC7F6C8DDE4”", , [ .常量特殊符号22, "“8FFBBDC1F0CEDBE2”", , ] .常量特殊符号23, "“8EFABCC0F1CFDAE3”", , \ .常量特殊符号24, "“E99DDBA796A8BD84”", , ; .常量特殊符号25, "“F581C7BB8AB4A198”", , '.常量特殊符号26, "“FE8ACCB081BFAA93”", , , .常量特殊符号27, "“FC88CEB283BDA891”", , . .常量特殊符号28, "“FD89CFB382BCA990”", , / .常量特殊符号29, "“FF8BCDB180BEAB92”", , - .常量特殊符号30, "“EF9BDDA190AEBB82”", , =。
密码表管理系统1设计目的、要求(1) 可以存储用户名及密码等密码表信息(2) 采用一种加密算法将密码表信息加密(3) 可以添加、删除、修改已知密码表中的信息(4) 可以检索密码信息2设计原理本程序采用维吉尼亚(vigenere)密码体制对用户名和密码等密码表信息进行加密。
3采用软件、设备Microsoft Visual Studio 20104设计内容1、vigenere cipher 的加密规则:1)找到一个关键字作为密钥(本程序使用密码为关键字);2)根据vigenere table 找出对应的密文。
2、vigenere cipher 的加密原理:1)vigenere 代换表:ABCDEFGHIJKLMNOPQRSTUVWXYZBCDEFGHIJKLMNOPQRSTUVWXYZACDEFGHIJKLMNOPQRSTUVWXYZABDEFGHIJKLMNOPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDEGHIJKLMNOPQRSTUVWXYZABCDEFHIJKLMNOPQRSTUVWXYZABCDEFGIJKLMNOPQRSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZABCDEFGHIKLMNOPQRSTUVWXYZABCDEFGHIJLMNOPQRSTUVWXYZABCDEFGHIJKMNOPQRSTUVWXYZABCDEFGHIJKLNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMNPQRSTUVWXYZABCDEFGHIJKLMNOQRSTUVWXYZABCDEFGHIJKLMNOPRSTUVWXYZABCDEFGHIJKLMNOPQSTUVWXYZABCDEFGHIJKLMNOPQRTUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKLMNOPQRSTVWXYZABCDEFGHIJKLMNOPQRSTUWXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVWYZABCDEFGHIJKLMNOPQRSTUVWXZABCDEFGHIJKLMNOPQRSTUVWXY2)加密过程很简单,就是给定密钥字母x和明文字母y,密文字母是位于x行和y 列的那个字母。
这样就决定了加密一条消息需要与消息一样长的密钥字符串。
(本程序较简单采用的密钥字符串与密码相同)例:比如密钥词是deceptive,消息是“we are discovered save yourself”,那么加密过程如下:deceptivedeceptivedeceptive(密钥字符串)wearediscoveredsaveyourself(消息)ZICVTWQNGRZGVTWAVZHCQYGLMGJ(密文)密文中的第一个字母“Z”是怎么得来的?从Vigenere代换表中,以密钥字符串中的“d”为行,消息中的“w”为列的那个字母就是“Z”了。
3)本程序可以实现对用户名和密码等密码表信息的存储、添加、修改、删除。
程序代码:#include<iostream>#include<conio.h>#define MAX 100static int square[27][27];char * vigenere(char key[],char word[]);int set(struct Admin admin[],char *name);int landing(struct Admin admin[]);int resultadd(struct Admin admin[]);int resultres(struct Admin admin[]);int Delete(struct Admin admin[]);int update_m(struct Admin admin[]);int Search_m(struct Admin admin[]);using namespace std;struct Admin{char name[15];char code[20];};int Count=0;//全局变量记录用户数void main(){struct Admin admin[8];int n=1,m;char name[20];for(int i=0;i<Count;i++){for(int j=0;j<15;j++){admin[i].name[j]='\0';}}for(int i=0;i<Count;i++){for(int j=0;j<20;j++){admin[i].code[j]='\0';}}while(n){cout<<"\t\t****************************************\n";cout<<"\t\t** 用户登录系统**\n";cout<<"\t\t** **\n";cout<<"\t\t** 1:建立**\n";cout<<"\t\t** 2:登陆**\n";cout<<"\t\t** 3:加密**\n";cout<<"\t\t** 4:解密**\n";cout<<"\t\t** 5.查找**\n";cout<<"\t\t** 6:修改**\n";cout<<"\t\t** 7:删除**\n";cout<<"\t\t** 0:退出**\n";cout<<"\t\t****************************************\n";cout<<"\t\t请选择:";cin>>m;switch(m){case 1: set(admin,name);break;case 2: landing(admin); break;case 3: resultadd(admin);break;case 4: resultres(admin);break;case 5: Search_m(admin);break;case 6: update_m(admin);break;case 7: Delete(admin);break;case 0: n=0;break;}}}//建立用户int set(struct Admin admin[],char *name){int i=0;int c;cout<<"\t\t输入用户名:";cin>>admin[Count].name;cout<<endl<<"\t\t输入密码:";Count-=1-Count++;c=getch();while(c != '\r') //回车{if(i >= 0){if (c == '\b'){cout<<"\b \b";//\b只是退回一格,不清除的。
所以第一次\b退回后用空格覆盖。
然后再\b退回i = i - 1;}else{cout<<"*";admin[Count].code[i] = c;}}c = getch();if(c != '\b')i=i+1;}admin[Count].code[i] = '\0';cout<<endl<<endl;return 0;}//用户登录int landing(struct Admin admin[]){char Name[20],Code[20];int p=0,i=0,c,m=0;cout<<endl<<"\t\t输入用户名:";cin>>Name;cout<<endl<<"\t\t输入密码:";c=getch();while(c != '\r') //回车{if(i >= 0){if (c == '\b'){cout<<"\b \b";//\b只是退回一格,不清除的。
所以第一次\b退回后用空格覆盖。
然后再\b退回i = i - 1;}else{cout<<"*";Code[i] = c;}}c = getch();if(c != '\b')i=i+1;}Code[i] = '\0';for(int n=0;n<9;n++){if(strcmp(Name,admin[n].name)==0&&strcmp(Code,admin[n].code)==0){cout<<"\n\t\t登陆成功!\n";p=1;}}if(p!=1) //判断登录失败原因{for(m;m<9;m++){if(strcmp(Name,admin[m].name)==0){cout<<"\t\t密码错误!\n";return 0;}}cout<<"\t\t用户不存在!\n";}return 0;}/*加密算法*/char * vigenere(char key[],char word[]){char *text=(char *)malloc(MAX*sizeof(char));int key_length=strlen(key);int word_length=strlen(word);int i,j,c;for(i=0;i<word_length;i++){if((word[i]>=65&&word[i]<=90)||(word[i]>=97&&word[i]<=122)){ if(word[i]>=97&&word[i]<=122){c=word[i]-96;}else {c=word[i]-64;}j=i%key_length;text[i]=square[key[j]-96][c];}else text[i]=word[i];}text[i]='\0';return text;}/*解密算法*/char * anti_vigenere(char key[],char * en_word){char *word=(char *)malloc(MAX*sizeof(char));int key_length=strlen(key);int word_length=strlen(en_word);int i,j,c,k,d;for(i=0;i<word_length;i++){if(en_word[i]>=65&&en_word[i]<=90){c=i%key_length;/*所用密钥在所在*/k=key[c]-96;d=en_word[i]-square[k][1];if(d>=0){word[i]='a'+d;}else{word[i]='z'+d+1;}}else{word[i]=en_word[i];}}word[i]='\0';return word;}//加密结果int resultadd(struct Admin admin[]){char key[20],*en_word;int i,j,k,m;for(i=1;i<27;i++){for(j=1;j<27;j++){square[i][j]=63+i+j;if(square[i][j]>90)square[i][j]=square[i][j]-26;}}for(k=1;k<27;k++){for(m=1;m<27;m++){cout<<(char)square[k][m]<<" ";}cout<<"\n"<<endl;}for(i=0;i<=Count;i++){for(int s=0;s<20;s++){key[s]=admin[i].code[s];}en_word=vigenere(key,admin[i].code);cout<<"\n"<<"The result is: "<<"\n"<<en_word<<endl;}return 0;}//解密结果int resultres(struct Admin admin[]){char key[20],*en_word;int i,j,k,m;for(i=1;i<27;i++){for(j=1;j<27;j++){square[i][j]=63+i+j;if(square[i][j]>90)square[i][j]=square[i][j]-26;}}for(k=1;k<27;k++){for(m=1;m<27;m++){cout<<(char)square[k][m]<<" ";}cout<<"\n"<<endl;}for(i=0;i<=Count;i++){for(int s=0;s<20;s++){key[s]=admin[i].code[s];}en_word=anti_vigenere(key,admin[i].code);cout<<"\n"<<"The result is: "<<"\n"<<en_word<<endl;}return 0;}//查找用户秘密int Search_m(struct Admin admin[]){char sename[15];bool flag;cout<<"请输入要查找的用户名"<<endl;cin>>sename;while(Count>=0){for(int i=0;i<15;i++){if(sename[i]==admin[Count].name[i])flag=true;else flag=false;}Count--;}if(flag){for(int i=0;i<20;i++)cout<<admin[Count+1].code[i];cout<<endl;cout<<"查找用户密码成功!!!"<<endl;}else cout<<"用户名错误,请重新选择操作!!!"<<endl;return 0;}//修改用户密码int update_m(struct Admin admin[]){char oldname[15];char newpassword[20];bool flag;cout<<"请输入要修改密码的用户名!!!"<<endl;cin>>oldname;while(Count>=0){for(int i=0;i<15;i++){if(oldname[i]==admin[Count].name[i])flag=true;else flag=false;}Count--;}if(flag){cout<<"请输入新的密码!!!"<<endl;cin>>newpassword;for(int j=0;j<20;j++){admin[Count+1].code[j]=newpassword[j];}cout<<"修改用户成功!!!"<<endl;}else cout<<"用户名错误,请重新选择操作!!!"<<endl;return 0;}//删除用户int Delete(struct Admin admin[]){char oldname[15];bool flag;cout<<"请输入要删除的用户名!!!"<<endl;cin>>oldname;while(Count>=0){for(int i=0;i<15;i++){if(oldname[i]==admin[Count].name[i])flag=true;else flag=false;}Count--;}if(flag){for(int j=0;j<20;j++){admin[Count+1].code[j]='\0';}for(int k=0;k<15;k++){admin[Count+1].name[k]='\0';}cout<<"删除成功"<<endl;}else cout<<"用户名错误,请重新选择操作!!!"<<endl;return 0;}。