下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据加密解密与口令认证凯撒\t"/qq_51212018/article/details/_blank"加密与解密恺撒密码的加密、解密方法还能够通过同余的数学方法进行计算。首先将字母用数字代替,A=0,B=1,…,Z=25。此时偏移量为n的加密方法即为:En(x)=(x+n)mod26;解密就是:Dn(x)=(x-n)mod26;对称加密:采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密,也就是密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES)。非对称加密算法:需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。、ECB加密解密函数importjavax.crypto.Cipher;importjavax.crypto.spec.SecretKeySpec;importmons.codec.binary.Base64;/****@authorcwy**/publicclassAESUtils{//加密publicstaticStringEncrypt(StringsSrc,StringsKey)throwsException{if(sKey==null){returnnull;}byte[]raw=sKey.getBytes("utf-8");SecretKeySpecskeySpec=newSecretKeySpec(raw,"AES");Ciphercipher=Cipher.getInstance("AES/ECB/PKCS5Padding");//"算法/模式/补码方式"cipher.init(Cipher.ENCRYPT_MODE,skeySpec);cipher.init(Cipher.ENCRYPT_MODE,skeySpec);byte[]encrypted=cipher.doFinal(sSrc.getBytes("utf-8"));returnnewString(Base64.encodeBase64(encrypted));//此处使用BASE64做转码功能,同时能起到2次加密的作用。}//解密publicstaticStringDecrypt(StringsSrc,StringsKey)throwsException{try{//判断Key是否正确if(sKey==null){returnnull;}byte[]raw=sKey.getBytes("utf-8");SecretKeySpecskeySpec=newSecretKeySpec(raw,"AES");Ciphercipher=Cipher.getInstance("AES/ECB/PKCS5Padding");cipher.init(Cipher.DECRYPT_MODE,skeySpec);byte[]encrypted1=Base64.decodeBase64(sSrc.getBytes());//先用base64解密try{byte[]original=cipher.doFinal(encrypted1);StringoriginalString=newString(original,"utf-8");returnoriginalString;}catch(Exceptione){System.out.println(e.toString());returnnull;}}catch(Exceptionex){System.out.println(ex.toString());returnnull;}}publicstaticvoidmain(String[]args)throwsException{/**此处使用AES-128-ECB加密模式,key需要为16位。*/StringcKey="1234567891012345";//需要加密的字串StringenString=AESUtils.Encrypt("HelloWorld",cKey);System.out.println("加密后的字串是:"+enString);}}口令认证口令是接枚双方预先约定的秘密数据,它用来验证用户知道什么。口令验证的安全性虽然不如其他几种方法,但是口令验证简单易行,因此口令验证是吕前应用最为广泛的身份认证方法之一。在计算机系统中,操作系统、网络、数据库都采用了口令验证。在一些简单的系统中,用户的口令以口令表的形式存储。当用户要访问系统时,系统要求用户提供其口令,系统将用户提供的口令与口令表中存储的相应用户的口令进行比较,若相等则确认用户身份有效,否则确认用户身份无效,担绝访问。但是,在上述口令验证机制中,存在下列一些问题:(1)攻击者可能从口令表中获取用户口令。因为用户的口令以明文形式存储在系统中,系统管理员可以获得所有口令,攻击者也可利用系统的漏洞来获得他人的口令。(2)攻击者可能在传输线路上截获用户口令。因为用户的口令在用户终端到系统的线路上以明文形式传输,所以攻击者可在传输线路上截获用户口令。(3)用户和系统的地位不平等。这里只有系统强制性地验证用户的身份,而用户无法验证系统的身份。代码实现登录功能publicpartialclassregister:Form{publicstaticstringstr_conn="server=CY-20190824RMES;InitialCatalog=fiber_yy;UserID=sa;pwd=beyond";SqlConnectionconn=newSqlConnection(str_conn);publicregister(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){stringsex="man";longphone_number;intaccount_number,password,sum=0;account_number=textBox1.Text.Length;password=textBox2.Text.Length;phone_number=long.Parse(textBox3.Text);if(account_number<=3||account_number>=16){label6.Text="账号长度应该在3~16字符之间";sum++;}else{label6.Text="校验成功";}if(password<=3||password>=16){label7.Text="密码长度应该在3~16字符之间";sum++;}else{label7.Text="校验成功";}if(radioButton1.Checked){sex="man";}elseif(radioButton2.Checked){sex="woman";}if(phone_number<10000000000||phone_number>99999999999){label9.Text="请输入正确的手机号";sum++;}else{label9.Text="校验成功";}if(sum==0){label6.Text="√";label7.Text="√";label8.Text="√";label9.Text="√";try{stringsql=string.Format("selectcount(*)fromyy_userwhereusername='{0}'",textBox1.Text);SqlCommandcmd=newSqlCommand(sql,conn);conn.Open();inta=(int)cmd.ExecuteScalar();//返回一个值,看用户是否存在1存在0不存在StringBuilderstrsql=newStringBuilder();//MessageBox.Show(a.ToString());if(a==1){MessageBox.Show("用户名已存在");}else{MessageBox.Show("okk");//stringINSERT_sql=string.Format("INSERTINTOuser_yyVALUES('{0}','{1}')",textBox1.Text,textBox2.Text);stringINSERT_sql=string.Format("INSERTINTOyy_userVALUES('{0}','{1}','{2}','{3}')",textBox1.Text.Trim(),textBox2.Text.Trim(),sex,textBox3.Text.Trim());SqlCommandINSERT_cmd=newSqlCommand(INSERT_sql,conn);intcount=INSERT_cmd.ExecuteNonQuery();if(count>0){MessageBox.Show("注册成功!");this.Close();newForm1().Show();}else{MessageBox.Show("GG");}}}catch(E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度楼顶景观照明设施安装与维护合同4篇
- 2024版陶瓷产品购销合同范本
- 2025年桶装水销售区域市场调研与分析合同样本3篇
- 二零二五年度果树租赁与果树种植项目投资合同3篇
- 二零二五版仓储搬运操作服务合同2篇
- 二零二五版出租汽车承包合同车辆报废及更新政策3篇
- 二零二五年度担保合同争议解决与会计处理办法合同3篇
- 2025年度机械设备买卖合同范本3篇
- 2025年度漫画连载作品授权手机游戏开发合同4篇
- 二零二五南宁市租赁市场租赁合同押金退还协议
- 临床医学院毕业实习管理-new-new课件
- 阻燃材料的阻燃机理建模
- PLC控制系统合同(2024版)
- CJT 511-2017 铸铁检查井盖
- ISO15189培训测试卷及答案
- JJG(交通) 171-2021 超声式成孔质量检测仪检定规程
- 气象卫星技术在军事中的应用
- 配电工作组配电网集中型馈线自动化技术规范编制说明
- 介入科围手术期护理
- 化验员个人自查自纠报告
- 食品良好操作规范(GMP)和食品卫生标准操作程序(SSOP)课件
评论
0/150
提交评论