每24小时生成一个随机字符串,然后刷新JavaScript?
我一直想做的事情可能比我想象的要复杂一些。 所以我要做的是通过javascript(我有代码)生成一个随机字符串,但是只在上午12点或每24小时生成一个新字符串 我的代码应该可以工作(不能),这就是我需要帮助的地方每24小时生成一个随机字符串,然后刷新JavaScript?,javascript,html,jquery,arrays,json,Javascript,Html,Jquery,Arrays,Json,我一直想做的事情可能比我想象的要复杂一些。 所以我要做的是通过javascript(我有代码)生成一个随机字符串,但是只在上午12点或每24小时生成一个新字符串 我的代码应该可以工作(不能),这就是我需要帮助的地方 var d=新日期(); var n=d.getDay(); var密码=[makeid(10)[n]]//希望它是10。。。在24小时内保持相同的字符,然后更改 document.getElementById(“password1”).innerHTML=passwords[n
var d=新日期();
var n=d.getDay();
var密码=[makeid(10)[n]]//希望它是10。。。在24小时内保持相同的字符,然后更改
document.getElementById(“password1”).innerHTML=passwords[n];
函数makeid(长度){
var结果=[];
变量字符='ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789';
var charactersLength=characters.length;
对于(变量i=0;i
函数execute(){
var d=新日期();
var n=d.getDay();
var passwords=[makeid(10)[n]];//希望它是10…保持24小时不变,然后更改
document.getElementById(“password1”).innerHTML=passwords[n];
}
函数makeid(长度){
var结果=[];
变量字符='ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789';
var charactersLength=characters.length;
对于(变量i=0;i{
执行()
设置间隔(()=>{
执行()
},86400000)//24小时*60分钟*60秒*1000毫秒=86400000毫秒
},星期二至下午十二时)
函数execute(){
var d=新日期();
var n=d.getDay();
var passwords=[makeid(10)[n]];//希望它是10…保持24小时不变,然后更改
document.getElementById(“password1”).innerHTML=passwords[n];
}
函数makeid(长度){
var结果=[];
变量字符='ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789';
var charactersLength=characters.length;
对于(变量i=0;i{
执行()
设置间隔(()=>{
执行()
},86400000)//24小时*60分钟*60秒*1000毫秒=86400000毫秒
},星期二至下午十二时)
由于您已经编写了自己的密码生成器,因此我使用您的代码创建了一个新的密码字符串,该字符串将持续24小时,除非密码被清除
也可以使用,但localStorage和Cookie都不能在沙箱环境中正常运行,所以请在您自己的开发环境中尝试。请注意,存储私人值(如密码)对安全性没有好处
<div id="password1">
</div>
<script>
function makeid(length) {
var result = [];
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result.push(characters.charAt(Math.floor(Math.random() *
charactersLength)));
}
return result.join('');
}
const key = "keyForTheVulnurablePassword";
if(localStorage.getItem(key) == null) {
let expireDate = new Date();
expireDate.setDate(expireDate.getDate() + 1);
localStorage.setItem(key, JSON.stringify({pw:makeid(10), expire:expireDate}));
}
else {
let currentDate = new Date();
let storedExpireDate = new Date(JSON.parse(localStorage.getItem(key)).expire);
if(storedExpireDate <= currentDate) {
while(storedExpireDate <= currentDate) {
storedExpireDate.setDate(storedExpireDate.getDate() + 1);
}
localStorage.setItem(key, JSON.stringify({pw:makeid(10), expire:storedExpireDate}));
}
}
document.getElementById("password1").innerHTML = JSON.parse(localStorage.getItem(key)).pw;
</script>
函数makeid(长度){
var结果=[];
变量字符='ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789';
var charactersLength=characters.length;
对于(变量i=0;i 如果(storedExpireDate因为您已经编写了自己的密码生成器,我使用您的代码创建了一个新的密码字符串,该字符串将持续24小时,除非该字符串被清除
也可以使用,但localStorage和Cookie都不能通过沙箱环境正常运行,因此请在您自己的开发环境中尝试此方法。请注意,存储密码等私有值对安全性没有好处
<div id="password1">
</div>
<script>
function makeid(length) {
var result = [];
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result.push(characters.charAt(Math.floor(Math.random() *
charactersLength)));
}
return result.join('');
}
const key = "keyForTheVulnurablePassword";
if(localStorage.getItem(key) == null) {
let expireDate = new Date();
expireDate.setDate(expireDate.getDate() + 1);
localStorage.setItem(key, JSON.stringify({pw:makeid(10), expire:expireDate}));
}
else {
let currentDate = new Date();
let storedExpireDate = new Date(JSON.parse(localStorage.getItem(key)).expire);
if(storedExpireDate <= currentDate) {
while(storedExpireDate <= currentDate) {
storedExpireDate.setDate(storedExpireDate.getDate() + 1);
}
localStorage.setItem(key, JSON.stringify({pw:makeid(10), expire:storedExpireDate}));
}
}
document.getElementById("password1").innerHTML = JSON.parse(localStorage.getItem(key)).pw;
</script>
函数makeid(长度){
var结果=[];
变量字符='ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789';
var charactersLength=characters.length;
对于(变量i=0;i 如果(storedExpireDate请发送帮助!!每N小时生成一个新代码应该很容易,但这意味着浏览器可以24-7-365运行。您可能会发现一个服务器端解决方案更容易实现*不是新代码,只是一个新字符串…在这种情况下,将code
和string
解释为一个相同的字符串。如果您选择如果你在后端有一个数据库,那么很容易安排它每N小时生成一个新的代码/字符串,它可以通过Ajax/服务器发送的事件或其他方式从客户端查询到……密码是否只适合你?如何运行此代码?它是否应该在特定时间自动运行?密码是否会存储在任何地方?如果是密码-验证方如何知道pas