ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:21.43KB ,
资源ID:8353474      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8353474.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Des加密js+java结果一致精讲.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Des加密js+java结果一致精讲.docx

1、Des加密js+java结果一致精讲Des加密(js+java结果一致)正文:1.des资源文件下载(des.js+des.html+des.java) function getResult() /待加密字符串 var str = document.getElementById(str).innerText; /第一个参数必须;第二个、第三个参数可选 var key1 = document.getElementById(key1).innerText; var key2 = document.getElementById(key2).innerText; var key3 = document

2、.getElementById(key3).innerText; /加密方法 var enResult = strEnc(str,key1,key2,key3); /解密方法 var deResult = strDec(enResult,key1,key2,key3); /展示结果 document.getElementById(enStr).innerText = enResult; document.getElementById(dnStr).innerText = deResult; 字符串: admin 加密key: key1=1;key2=2;key3=3 加密结果: 解密结果: 4

3、.java文件(des.java)package com.zz.test;import java.util.ArrayList;import java.util.List;public class Des public Des() public static void main(String args) Des desObj = new Des(); String key1 = 1; String key2 = 2; String key3 = 3; String data = admin; String str = desObj.strEnc(data, key1, key2, key3);

4、 System.out.println(str); String dec = desObj.strDec(str, key1, key2, key3); System.out.println(dec); /* * DES加密/解密 * * Copyright Copyright (c) 2006 * author Guapo * see DESCore */ /* * encrypt the string to string made up of hex return the encrypted string */ public String strEnc(String data, Strin

5、g firstKey, String secondKey, String thirdKey) int leng = data.length(); String encData = ; List firstKeyBt = null, secondKeyBt = null, thirdKeyBt = null; int firstLength = 0, secondLength = 0, thirdLength = 0; if (firstKey != null & firstKey != ) firstKeyBt = getKeyBytes(firstKey); firstLength = fi

6、rstKeyBt.size(); if (secondKey != null & secondKey != ) secondKeyBt = getKeyBytes(secondKey); secondLength = secondKeyBt.size(); if (thirdKey != null & thirdKey != ) thirdKeyBt = getKeyBytes(thirdKey); thirdLength = thirdKeyBt.size(); if (leng 0) if (leng 4) int bt = strToBt(data); int encByte = nul

7、l; if (firstKey != null & firstKey != & secondKey != null & secondKey != & thirdKey != null & thirdKey != ) int tempBt; int x, y, z; tempBt = bt; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); for (y = 0; y secondLength; y+) tempBt = enc(tempBt, (int) secondKeyBt.get(y)

8、; for (z = 0; z thirdLength; z+) tempBt = enc(tempBt, (int) thirdKeyBt.get(z); encByte = tempBt; else if (firstKey != null & firstKey != & secondKey != null & secondKey != ) int tempBt; int x, y; tempBt = bt; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); for (y = 0; y

9、secondLength; y+) tempBt = enc(tempBt, (int) secondKeyBt.get(y); encByte = tempBt; else if (firstKey != null & firstKey != ) int tempBt; int x = 0; tempBt = bt; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); encByte = tempBt; encData = bt64ToHex(encByte); else int itera

10、tor = (leng / 4); int remainder = leng % 4; int i = 0; for (i = 0; i iterator; i+) String tempData = data.substring(i * 4 + 0, i * 4 + 4); int tempByte = strToBt(tempData); int encByte = null; if (firstKey != null & firstKey != & secondKey != null & secondKey != & thirdKey != null & thirdKey != ) in

11、t tempBt; int x, y, z; tempBt = tempByte; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); for (y = 0; y secondLength; y+) tempBt = enc(tempBt, (int) secondKeyBt.get(y); for (z = 0; z thirdLength; z+) tempBt = enc(tempBt, (int) thirdKeyBt.get(z); encByte = tempBt; else if

12、 (firstKey != null & firstKey != & secondKey != null & secondKey != ) int tempBt; int x, y; tempBt = tempByte; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); for (y = 0; y secondLength; y+) tempBt = enc(tempBt, (int) secondKeyBt.get(y); encByte = tempBt; else if (firstK

13、ey != null & firstKey != ) int tempBt; int x; tempBt = tempByte; for (x = 0; x 0) String remainderData = data.substring(iterator * 4 + 0, leng); int tempByte = strToBt(remainderData); int encByte = null; if (firstKey != null & firstKey != & secondKey != null & secondKey != & thirdKey != null & third

14、Key != ) int tempBt; int x, y, z; tempBt = tempByte; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); for (y = 0; y secondLength; y+) tempBt = enc(tempBt, (int) secondKeyBt.get(y); for (z = 0; z thirdLength; z+) tempBt = enc(tempBt, (int) thirdKeyBt.get(z); encByte = temp

15、Bt; else if (firstKey != null & firstKey != & secondKey != null & secondKey != ) int tempBt; int x, y; tempBt = tempByte; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt.get(x); for (y = 0; y secondLength; y+) tempBt = enc(tempBt, (int) secondKeyBt.get(y); encByte = tempBt; else

16、 if (firstKey != null & firstKey != ) int tempBt; int x; tempBt = tempByte; for (x = 0; x firstLength; x+) tempBt = enc(tempBt, (int) firstKeyBt .get(x); encByte = tempBt; encData += bt64ToHex(encByte); return encData; /* * decrypt the encrypted string to the original string * * return the original

17、string */ public String strDec(String data, String firstKey, String secondKey, String thirdKey) int leng = data.length(); String decStr = ; List firstKeyBt = null, secondKeyBt = null, thirdKeyBt = null; int firstLength = 0, secondLength = 0, thirdLength = 0; if (firstKey != null & firstKey != ) firs

18、tKeyBt = getKeyBytes(firstKey); firstLength = firstKeyBt.size(); if (secondKey != null & secondKey != ) secondKeyBt = getKeyBytes(secondKey); secondLength = secondKeyBt.size(); if (thirdKey != null & thirdKey != ) thirdKeyBt = getKeyBytes(thirdKey); thirdLength = thirdKeyBt.size(); int iterator = le

19、ng / 16; int i = 0; for (i = 0; i iterator; i+) String tempData = data.substring(i * 16 + 0, i * 16 + 16); String strByte = hexToBt64(tempData); int intByte = new int64; int j = 0; for (j = 0; j = 0; x-) tempBt = dec(tempBt, (int) thirdKeyBt.get(x); for (y = secondLength - 1; y = 0; y-) tempBt = dec

20、(tempBt, (int) secondKeyBt.get(y); for (z = firstLength - 1; z = 0; z-) tempBt = dec(tempBt, (int) firstKeyBt.get(z); decByte = tempBt; else if (firstKey != null & firstKey != & secondKey != null & secondKey != ) int tempBt; int x, y, z; tempBt = intByte; for (x = secondLength - 1; x = 0; x-) tempBt

21、 = dec(tempBt, (int) secondKeyBt.get(x); for (y = firstLength - 1; y = 0; y-) tempBt = dec(tempBt, (int) firstKeyBt.get(y); decByte = tempBt; else if (firstKey != null & firstKey != ) int tempBt; int x, y, z; tempBt = intByte; for (x = firstLength - 1; x = 0; x-) tempBt = dec(tempBt, (int) firstKeyB

22、t.get(x); decByte = tempBt; decStr += byteToString(decByte); return decStr; /* * chang the string into the bit array * * return bit array(its length % 64 = 0) */ public List getKeyBytes(String key) List keyBytes = new ArrayList(); int leng = key.length(); int iterator = (leng / 4); int remainder = l

23、eng % 4; int i = 0; for (i = 0; i 0) / keyBytesi = strToBt(key.substring(i*4+0,leng); keyBytes.add(i, strToBt(key.substring(i * 4 + 0, leng); return keyBytes; /* * chang the string(its length = 4) into the bit array * * return bit array(its length = 64) */ public int strToBt(String str) int leng = s

24、tr.length(); int bt = new int64; if (leng 4) int i = 0, j = 0, p = 0, q = 0; for (i = 0; i leng; i+) int k = str.charAt(i); for (j = 0; j j; m-) pow *= 2; / bt.set(16*i+j,+(k/pow)%2); bt16 * i + j = (k / pow) % 2; for (p = leng; p 4; p+) int k = 0; for (q = 0; q q; m-) pow *= 2; / bt16*p+q=parseInt(k/pow)%2; / bt.add(16*p+q,+(k/pow)%2); bt16 * p + q = (k / pow) % 2; else for (int i = 0; i 4; i+) int k = str.charAt(i); for (int j = 0; j 16; j+)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1