客户U盾是一个带智能芯片、形状类似于U盘的硬件设备,是工商银行与微软等国际知名公司共同合作开发,并应用了智能芯片信息加密技术的一种数字签名工具。一旦您把自己在银行的账户纳入此U盾管理,在网上银行办理转账汇款、B2C支付等业务都必须启用客户U盾进行验证,而客户U盾是唯一的、不可复制的,任何人都无法利用您的身份信息和账户信息通过互联网盗取您的资金。
在U盾中,存放一个与硬件唯一匹配的ID,SHA1种子码即3DES密钥。在U盾与程序结合时,通过数据库导入的方式将这些信息从设号工具产生的数据库中导入到用户数据库中。
完成数据库的导入后,进入界面的判断。首先编写界面HTML代码,大概思路是添加一个<select>标签,一个密码框,查找到U盾输入密码才能进行相应的操作。
在查找U盾的按钮上添加相应的查找U盾的JS代码,目的是判断有没有插入U盾。如果检测到U盾,那么把U盾内置的唯一的ID显示到选择框中。在后台取得该ID和相应的密码做比对,如果一样,则进行下一步操作。
在界面获取U盾的JS代码为
function UFind() {
var rtn = IA300_CheckExist();
if (0 < rtn) {
/*alert("找到"+rtn+"把锁, 请在列表中选择你需要设置的加密锁. 注意请自行排除管理员锁!");*/
document.getElementById("userUK").options.length = 0; //初始化列表
for (i = 0; i < rtn; i++) { //获取所有加密锁硬件ID
var id = IA300_GetHardwareId(i);
if (id == "") {
alert("获取第" + (1 + i) + "把锁硬件ID失败,错误码:"
+ IA300_GetLastError());
} else {
document.getElementById("userUK").options[i] = new Option(
id, id);
}
}
} else {
alert("未找到加密锁!");
document.getElementById("userUK").options.length = 0;
document.getElementById("userUK").options[0] = new Option(
"请先查找U盾!", "请先查找U盾!");
return false;
}
}
在界面加载的时候还需要调用一个JS方法,判断是否支持当前浏览器,是否安装U盾的插件。(关于这些JS,软件开发商不必担心,大多都有现成的,拿过来直接引入到项目中即可。)
function OnPageLoad() {
var browser = DetectBrowser();
if (browser == "Unknown") {
alert("不支持该浏览器, 如果您在使用傲游或类似浏览器,请切换到IE模式");
return;
}
//createAdminElementIA300() 对本页面加入IA300插件
createElementIA300();
//DetectActiveX() 判断IA300Admin是否安装
var create = DetectIA300Plugin();
if (create == false) {
alert("插件未安装,请安装开发套件Plugin文件夹下的管理层插件。");
return false;
}
}
如果这两部都能通过输入密码,验证密码和硬件的唯一ID,通过后台验证通过即可。硬件的使用不是想象中的那么难。很多接口都是硬件开发商都给写好,而且一般都会有现成的Demo。