免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 毕业论文 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 计算机论文

软件工程”网络课程的设计(二)

此操作将列表从最后一个元素向前遍历到第二个元素,将随机选择的元素重复到当前位置。该元素从列表中随机选择,并运行在第一个元素到当前位置。
此方法在线性时间下工作。如果指定的项目不使用 RandomAccess 接口,并且是一个大列表,这避免了次要行为,这是由组织"Tidy Access"列表引起的。
private static Random r;
public static void shuffle(List list) {
if (r == null) {
r = new Random();
}
shuffle(list, r);
}
public static void shuffle(List list, Random rnd) {
int size = list.size();
if (size 1; i--)
swap(list, i-1, rnd.nextInt(i));
} else {
Object arr[] = list.toArray();
// Shuffle array
for (int i=size; i>1; i--)
swap(arr, i-1, rnd.nextInt(i));
// Dump array back into list
ListIterator it = list.listIterator();
for (int i=0; i<arr.length; i++) {
it.next();

it.set(arr[i]);
}
}
}
(2)DES加密算法
由于客观题的随机排列,使得试题的排列次序与数据库中有所不同。同时,考虑到通过逐条在数据库中查询来校验答案对数据库的压力过大,所以事先查询出试题的答案,然后根据打乱后的试题次序把正确答案拼成一个字符串,然后加密放到页面的隐藏域中。这样一来,当提交试题查看结果时不用再次查询数据库,只要把答案字符串解密,然后分割成数组校验即可。
这里的加解密采用了DES算法。
DES算法的入口参数有三个:Key、Data、Mode。其中Key为8字节共64位,是DES算法的工作密钥;Data也为8字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位),作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点。数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
下面是加密算法的部分代码(解密原理类似):
public class DesEncrypt {
private Key key;
/**
* 根据参数生成KEY
* 

* @param strKey
*/
public void getKey(String strKey) {
try {
KeyGenerator _generator = KeyGenerator. getInstance(“DES”);
_generator.init(new SecureRandom (strKey.getBytes()));
this.key = _generator.generateKey();
_generator = null;
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 加密 String明文输入,String密文输出
* 
* @param strMing
* @return
*/
public String getEncString(String strMing) {
byte[] byteMi = null;
byte[] byteMing = null;
String strMi = ““;
BASE64Encoder base64en = new BASE64Encoder();
try {
byteMing = strMing.getBytes(“UTF8”);
byteMi = this.getEncCode(byteMing);

strMi = base64en.encode(byteMi);
} catch (Exception e) {
e.printStackTrace();
} finally {
base64en = null;
byteMing = null;
byteMi = null;
}
return strMi;
}
/**
* 解密 以String密文输入,String明文输出
* 
* @param strMi
* @return
*/
public String getDesString(String strMi) {
BASE64Decoder base64De = new BASE64Decoder();
byte[] byteMing = null;
byte[] byteMi = null;
String strMing = ““;
try {
byteMi = base64De.decodeBuffer(strMi);
byteMing = this.getDesCode(byteMi);
strMing = new String(byteMing, “UTF8”);
} catch (Exception e) {
e.printStackTrace();
} finally {

base64De = null;
byteMing = null;
byteMi = null;
}
return strMing;
}
(3) 章节维护算法


首页 上一页 1 2 3 下一页 尾页 2/3/3

相关论文
上一篇:互联网的利与弊 下一篇:移动电子商务的现状和发展前景分析
推荐论文 本专业最新论文
Tags:软件工程 网络课程 设计 【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2022 GEPUW.NET 论文天下网 版权所有