更新 ukey 程序
This commit is contained in:
parent
9dac075967
commit
fd53c6a05c
@ -27,6 +27,33 @@
|
|||||||
- taxonomy: 在线工具
|
- taxonomy: 在线工具
|
||||||
icon: far fa-folder-open fa-lg
|
icon: far fa-folder-open fa-lg
|
||||||
list:
|
list:
|
||||||
|
- term: 基础设施
|
||||||
|
links:
|
||||||
|
- title: 网关
|
||||||
|
logo: nginx-proxy-manager.png
|
||||||
|
url: //www.fullstack.club:4081
|
||||||
|
description: 网关。
|
||||||
|
- title: 集群监控
|
||||||
|
logo: wg.png
|
||||||
|
url: //moniter.fullstack.club:9999/
|
||||||
|
description: 服务器集群监控。
|
||||||
|
- title: Kit
|
||||||
|
logo: anyway.png
|
||||||
|
url: //kit.fullstack.club
|
||||||
|
description: 手边的命令行脚本工具。
|
||||||
|
- title: Git
|
||||||
|
logo: gitea.png
|
||||||
|
url: //git.fullstack.club
|
||||||
|
description: Git Server & CICD。
|
||||||
|
- title: Nexus
|
||||||
|
logo: nexus.png
|
||||||
|
url: //nexus.fullstack.club:8081/
|
||||||
|
description: 内网 Maven 仓库。
|
||||||
|
# - title: TailBook
|
||||||
|
# logo: tailbook.ico
|
||||||
|
# url: //book.fullstack.club:8082/
|
||||||
|
# description: 私人图书管。
|
||||||
|
|
||||||
- term: 常用工具
|
- term: 常用工具
|
||||||
links:
|
links:
|
||||||
- title: 目标十字
|
- title: 目标十字
|
||||||
@ -96,12 +123,6 @@
|
|||||||
url: https://cn.vitejs.dev/
|
url: https://cn.vitejs.dev/
|
||||||
description: 下一代的前端工具链
|
description: 下一代的前端工具链
|
||||||
|
|
||||||
- term: 开源
|
|
||||||
links:
|
|
||||||
- title: Kit
|
|
||||||
logo: anyway.png
|
|
||||||
url: http://kit.fullstack.club
|
|
||||||
description: 手边的命令行脚本工具。
|
|
||||||
|
|
||||||
# - term: 图标
|
# - term: 图标
|
||||||
# links:
|
# links:
|
||||||
|
BIN
src/themes/WebStack/static/assets/images/logos/gitea.png
Normal file
BIN
src/themes/WebStack/static/assets/images/logos/gitea.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
src/themes/WebStack/static/assets/images/logos/nexus.png
Normal file
BIN
src/themes/WebStack/static/assets/images/logos/nexus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 860 B |
BIN
src/themes/WebStack/static/assets/images/logos/tailbook.ico
Normal file
BIN
src/themes/WebStack/static/assets/images/logos/tailbook.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
BIN
src/themes/WebStack/static/assets/images/logos/wg.png
Normal file
BIN
src/themes/WebStack/static/assets/images/logos/wg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
src/themes/WebStack/static/assets/images/nginx-proxy-manager.png
Normal file
BIN
src/themes/WebStack/static/assets/images/nginx-proxy-manager.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
@ -24,6 +24,7 @@
|
|||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
width: 80%;
|
width: 80%;
|
||||||
height: 80%;
|
height: 80%;
|
||||||
|
min-height: 500px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,17 +199,17 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab tab_pin" style="display: none">
|
<div class="tab tab_pin" style="display: none">
|
||||||
<div class="group" style="width: 100%; ">
|
<!-- <div class="group" style="width: 100%; ">-->
|
||||||
<input id="pwd2" style="width: 300px;height: 1.06rem" type="password" maxlength="8"
|
<!-- <input id="pwd2" style="width: 300px;height: 1.06rem" type="password" maxlength="8"-->
|
||||||
placeholder="口令,8 个数字">
|
<!-- placeholder="口令,8 个数字">-->
|
||||||
<button id="login2" style="margin-right: 1rem">授  权</button>
|
<!-- <button id="login2" style="margin-right: 1rem">授  权</button>-->
|
||||||
<button id="login_def2" style="margin-right: 1rem">默认口令</button>
|
<!-- <button id="login_def2" style="margin-right: 1rem">默认口令</button>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
|
|
||||||
<div class="form group">
|
<div class="form group">
|
||||||
<input id="old_pwd" style="width: 360px;height: 1.06rem" type="password" maxlength="8"
|
<input id="old_pwd" style="width: 360px;height: 1.06rem" type="password" maxlength="8"
|
||||||
placeholder="旧口令,8 个数字">
|
placeholder="口令,8 个数字">
|
||||||
<input id="new_pwd1" style="width: 360px;height: 1.06rem" type="password" maxlength="8"
|
<input id="new_pwd1" style="width: 360px;height: 1.06rem" type="password" maxlength="8"
|
||||||
placeholder="新口令,8 个数字">
|
placeholder="新口令,8 个数字">
|
||||||
<input id="new_pwd2" style="width: 360px;height: 1.06rem" type="password" maxlength="8"
|
<input id="new_pwd2" style="width: 360px;height: 1.06rem" type="password" maxlength="8"
|
||||||
@ -308,11 +309,22 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
$("#login2_def").click(function () {
|
|
||||||
$("#pwd2").val("12345678");
|
$("#login_def2").click(function () {
|
||||||
$("#login2").click()
|
var pwd2 = "11111111"
|
||||||
|
$("#pwd2").val(pwd2);
|
||||||
|
var ukey = $("#ukeys").val();
|
||||||
|
|
||||||
|
try {
|
||||||
|
window.UKey.admin(ukey, pwd2)
|
||||||
|
success("登录成功")
|
||||||
|
} catch (e) {
|
||||||
|
alert("登录失败:" + e.message)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$("#login").click(function () {
|
$("#login").click(function () {
|
||||||
var pwd1 = $("#pwd1").val();
|
var pwd1 = $("#pwd1").val();
|
||||||
check(pwd1, /\d{8}/, "口令输入错误")
|
check(pwd1, /\d{8}/, "口令输入错误")
|
||||||
@ -495,13 +507,52 @@
|
|||||||
|
|
||||||
|
|
||||||
$("#reset").click(function () {
|
$("#reset").click(function () {
|
||||||
alert("暂不开放")
|
var ukey = $("#ukeys").val();
|
||||||
|
// 重置口令
|
||||||
|
var old_pwd = $("#old_pwd").val()
|
||||||
|
|
||||||
|
try {
|
||||||
|
window.UKey.admin(ukey, old_pwd)
|
||||||
|
success("授权成功")
|
||||||
|
} catch (e) {
|
||||||
|
alert("授权失败:" + e.message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var new_pwd1 = $("#new_pwd1").val()
|
||||||
|
var new_pwd2 = $("#new_pwd2").val()
|
||||||
|
|
||||||
|
if ( new_pwd1 !== new_pwd2 ) {
|
||||||
|
alert("新口令两次不同")
|
||||||
|
} else {
|
||||||
|
window.UKey.updatePin(3, old_pwd, new_pwd1);
|
||||||
|
alert("执行成功")
|
||||||
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
$("#update1").click(function () {
|
$("#update1").click(function () {
|
||||||
alert("暂不开放")
|
var old_pwd = $("#old_pwd").val()
|
||||||
|
var new_pwd1 = $("#new_pwd1").val()
|
||||||
|
var new_pwd2 = $("#new_pwd2").val()
|
||||||
|
|
||||||
|
if ( new_pwd1 !== new_pwd2 ) {
|
||||||
|
alert("新口令两次不同")
|
||||||
|
} else {
|
||||||
|
window.UKey.updatePin(1, old_pwd, new_pwd1);
|
||||||
|
alert("执行成功")
|
||||||
|
}
|
||||||
})
|
})
|
||||||
$("#update2").click(function () {
|
$("#update2").click(function () {
|
||||||
alert("暂不开放")
|
var old_pwd = $("#old_pwd").val()
|
||||||
|
var new_pwd1 = $("#new_pwd1").val()
|
||||||
|
var new_pwd2 = $("#new_pwd2").val()
|
||||||
|
|
||||||
|
if ( new_pwd1 !== new_pwd2 ) {
|
||||||
|
alert("新口令两次不同")
|
||||||
|
} else {
|
||||||
|
window.UKey.updatePin(2, old_pwd, new_pwd1);
|
||||||
|
alert("执行成功")
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
var DIR = "\\root\\mana"
|
var DIR = "\\root\\mana"
|
||||||
var FISECKEY = root.FISECKEY;
|
var FISECKEY = root.FISECKEY;
|
||||||
var hDevice = undefined;
|
var hDevice = undefined;
|
||||||
var fileSize = 4096;
|
var fileSize = 4 * 1024;
|
||||||
|
|
||||||
if ( ! FISECKEY ) {
|
if ( ! FISECKEY ) {
|
||||||
console.error("缺少 FISECKEY 支持 !!!")
|
console.error("缺少 FISECKEY 支持 !!!")
|
||||||
@ -67,6 +67,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
sum += "";
|
sum += "";
|
||||||
|
if ( sum.length < 4 ) {
|
||||||
|
sum = "0000" + sum
|
||||||
|
}
|
||||||
|
// 截取最后 2 字节
|
||||||
return sum.substr( sum.length -4 );
|
return sum.substr( sum.length -4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,15 +80,16 @@
|
|||||||
}
|
}
|
||||||
FISECKEY.FILE_Init(hDevice);
|
FISECKEY.FILE_Init(hDevice);
|
||||||
|
|
||||||
FISECKEY.FILE_CreateDir(hDevice, DIR, 0);
|
|
||||||
|
|
||||||
FISECKEY.FILE_CreateFile(hDevice, DIR, "name", fileSize, 0);
|
FISECKEY.FILE_CreateDir(hDevice, DIR, 0);
|
||||||
|
FISECKEY.FILE_CreateFile(hDevice, DIR, "name", 1024, 0);
|
||||||
|
|
||||||
|
|
||||||
FISECKEY.GenECCKeypair(hDevice, 0, 256, 1);
|
FISECKEY.GenECCKeypair(hDevice, 0, 256, 1);
|
||||||
|
|
||||||
var data = JSON.stringify(info)
|
var data = JSON.stringify(info)
|
||||||
|
|
||||||
writeFile(DIR, "name", data)
|
writeFile(DIR, "name", data, 1024)
|
||||||
|
|
||||||
readFile(DIR, "name")
|
readFile(DIR, "name")
|
||||||
|
|
||||||
@ -98,18 +103,52 @@
|
|||||||
FISECKEY.FILE_DeleteFile(hDevice, dir, file);
|
FISECKEY.FILE_DeleteFile(hDevice, dir, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function readData(hDevice, dir, file, off, len){
|
||||||
|
var data = "";
|
||||||
|
|
||||||
|
if ( len <= 1024 ) {
|
||||||
|
return FISECKEY.FILE_ReadFile(hDevice, dir, file, off, len);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var curLen = 0;
|
||||||
|
while ( curLen < len ) {
|
||||||
|
|
||||||
|
var readLen = 1024;
|
||||||
|
if ( (len - curLen) <= 1024 ) {
|
||||||
|
// 剩余量小于= 1024
|
||||||
|
readLen = len - curLen;
|
||||||
|
} else {
|
||||||
|
// 剩余量大于 1024
|
||||||
|
readLen = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
data += FISECKEY.FILE_ReadFile(hDevice, dir, file, off + curLen, readLen);
|
||||||
|
curLen += readLen
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function readFile(dir, file) {
|
function readFile(dir, file) {
|
||||||
if ( ! hDevice ) {
|
if ( ! hDevice ) {
|
||||||
throw new Error("设备未登录")
|
throw new Error("设备未登录")
|
||||||
}
|
}
|
||||||
|
|
||||||
var len = FISECKEY.FILE_ReadFile(hDevice, dir, file, 0, 2);
|
var len = FISECKEY.FILE_ReadFile(hDevice, dir, file, 0, 3);
|
||||||
|
console.log("read "+ file + " lenAsHex=", len, )
|
||||||
len = parseInt( len, 10 );
|
len = parseInt( len, 10 );
|
||||||
|
console.log("read "+ file + " len=", len)
|
||||||
|
|
||||||
var data = FISECKEY.FILE_ReadFile(hDevice, dir, file, 2, len);
|
var data = readData(hDevice, dir, file, 3, len);
|
||||||
|
console.log("read "+ file + " data=", data)
|
||||||
var sum = sumHash(data);
|
var sum = sumHash(data);
|
||||||
var hash = FISECKEY.FILE_ReadFile(hDevice, dir, file, 2 + len, 2);
|
|
||||||
|
|
||||||
|
var hash = FISECKEY.FILE_ReadFile(hDevice, dir, file, 3 + len, 2);
|
||||||
|
|
||||||
|
|
||||||
if ( sum === hash ) {
|
if ( sum === hash ) {
|
||||||
|
|
||||||
var str = hexToString(data);
|
var str = hexToString(data);
|
||||||
@ -131,39 +170,45 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function writeFile(dir, file, data){
|
function writeFile(dir, file, data, keep, size){
|
||||||
if ( ! hDevice ) {
|
if ( ! hDevice ) {
|
||||||
throw new Error("设备未登录")
|
throw new Error("设备未登录")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ! keep ) {
|
||||||
|
if ( !size ) {
|
||||||
|
size = fileSize
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FISECKEY.FILE_DeleteFile(hDevice, dir, file);
|
FISECKEY.FILE_DeleteFile(hDevice, dir, file);
|
||||||
}catch (e) {
|
}catch (e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
FISECKEY.FILE_CreateFile(hDevice, dir, file, size, 0);
|
||||||
|
}
|
||||||
|
|
||||||
FISECKEY.FILE_CreateFile(hDevice, dir, file, fileSize, 0);
|
console.log( "write "+ file + " data=", data )
|
||||||
|
console.log( "write "+ file + " data.length" , data.length )
|
||||||
console.log( "write", data )
|
|
||||||
console.log( "data.length" , data.length )
|
|
||||||
data = stringToHex( data ).toUpperCase()
|
data = stringToHex( data ).toUpperCase()
|
||||||
|
|
||||||
|
|
||||||
var len = data.length / 2
|
var len = data.length / 2
|
||||||
len = "0000" + len;
|
len = "000000" + len;
|
||||||
len = len.substr( len.length -4 );
|
len = len.substr( len.length -6 );
|
||||||
FISECKEY.FILE_WriteFile(hDevice, dir, file, 0, 2, len);
|
console.log("write "+ file + " head=", len)
|
||||||
|
FISECKEY.FILE_WriteFile(hDevice, dir, file, 0, 3, len);
|
||||||
writeData(hDevice, dir, file, 2, data.length/2, data)
|
writeData(hDevice, dir, file, 3, data.length/2, data)
|
||||||
|
|
||||||
// console.log( "writeFile=" + len )
|
// console.log( "writeFile=" + len )
|
||||||
// console.log( "writeFile=" + data )
|
// console.log( "writeFile=" + data )
|
||||||
// console.log( "writeFile=" + data.length )
|
// console.log( "writeFile=" + data.length )
|
||||||
|
|
||||||
console.log("w2")
|
|
||||||
var hash = sumHash(data);
|
var hash = sumHash(data);
|
||||||
|
console.log("write "+ file + " hash=", hash)
|
||||||
// console.log( "writeFile hash=" + hash )
|
// console.log( "writeFile hash=" + hash )
|
||||||
FISECKEY.FILE_WriteFile(hDevice, dir, file, 2 + (data.length/2), 2, hash);
|
FISECKEY.FILE_WriteFile(hDevice, dir, file, 3 + (data.length/2), 2, hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 枚举序列号与名称
|
// 枚举序列号与名称
|
||||||
@ -289,8 +334,8 @@
|
|||||||
/**
|
/**
|
||||||
* 修改口令
|
* 修改口令
|
||||||
*/
|
*/
|
||||||
function updatePin(oldpin, newpin){
|
function updatePin(flag, oldpin, newpin){
|
||||||
FISECKEY.USER_ChangePin(hDevice, 1, oldpin, newpin);
|
FISECKEY.USER_ChangePin(hDevice, 3, oldpin, newpin);
|
||||||
}
|
}
|
||||||
|
|
||||||
function exportPk(){
|
function exportPk(){
|
||||||
|
Loading…
Reference in New Issue
Block a user