惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cybersecurity and Infrastructure Security Agency CISA
月光博客
月光博客
Apple Machine Learning Research
Apple Machine Learning Research
量子位
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
小众软件
小众软件
T
Tailwind CSS Blog
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
T
Tenable Blog
博客园 - 叶小钗
宝玉的分享
宝玉的分享
P
Privacy International News Feed
T
Tor Project blog
博客园_首页
AWS News Blog
AWS News Blog
雷峰网
雷峰网
C
Cisco Blogs
Help Net Security
Help Net Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 【当耐特】
T
Threat Research - Cisco Blogs
Last Week in AI
Last Week in AI
K
Kaspersky official blog
人人都是产品经理
人人都是产品经理
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
Schneier on Security
博客园 - Franky
W
WeLiveSecurity
L
LINUX DO - 热门话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
腾讯CDC
L
Lohrmann on Cybersecurity
J
Java Code Geeks
美团技术团队
博客园 - 司徒正美
The Cloudflare Blog
V
V2EX

博客园 - 龍峸.大卫

C#格式化字符串,日期,时间,货币 行动吧站长们,为地震遇难同志哀悼! 穷与富 ASP.NET备忘 - 龍峸.大卫 - 博客园 珊瑚虫IP数据库转 SQL 2005 纯真IP转sql 一个非常实用的javascript读写Cookie函数 - 龍峸.大卫 - 博客园 JavaScript操作Cookie详解 Microsoft Web Application Stress Tool - 龍峸.大卫 网站压力测试工具集 网站维护必知:网站压力测试 Jquery的N个插件 CSS的解决IE5/IE5.5/IE6/FF/IE7的兼容性问题(css hack) 鼠标悬停显示图片 客齐集图片鼠标悬停效果 始终固定在左上角的图片 下拉选单图片选择器 带链接的日历 - 龍峸.大卫 一个简洁的网页日历 经典列表效果 - 龍峸.大卫
采用密码加密的javascript字符串加密、解密程序 - 龍峸.大卫 - 博客园
龍峸.大卫 · 2008-04-03 · via 博客园 - 龍峸.大卫

<SCRIPT LANGUAGE="JavaScript">
<!-- Beginfunction Encrypt(str, pwd) {
    
if(str=="")return "";
    str 
= escape(str);
    
if(!pwd || pwd==""){ var pwd="1234"; }
    pwd 
= escape(pwd);
      
if(pwd == null || pwd.length <= 0) {
        alert(
"Please enter a password with which to encrypt the message.");
          
return null;
      }
      
var prand = "";
      
for(var I=0; I<pwd.length; I++) {
        prand 
+= pwd.charCodeAt(I).toString();
      }
      
var sPos = Math.floor(prand.length / 5);
      
var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2+ prand.charAt(sPos*3+ prand.charAt(sPos*4+ prand.charAt(sPos*5));var incr = Math.ceil(pwd.length / 2);
      
var modu = Math.pow(231- 1;
      
if(mult < 2) {
        alert(
"Algorithm cannot find a suitable hash. Please choose a different password. \nPossible considerations are to choose a more complex or longer password.");
        
return null;
      }
      
var salt = Math.round(Math.random() * 1000000000% 100000000;
      prand 
+= salt;
      
while(prand.length > 10) {
        prand 
= (parseInt(prand.substring(010)) + parseInt(prand.substring(10, prand.length))).toString();
      }
      prand 
= (mult * prand + incr) % modu;
    
var enc_chr = "";
    
var enc_str = "";
    
for(var I=0; I<str.length; I++) {
        enc_chr 
= parseInt(str.charCodeAt(I) ^ Math.floor((prand / modu) * 255));
        
if(enc_chr < 16) {
            enc_str 
+= "0" + enc_chr.toString(16);
        }
else 
            enc_str 
+= enc_chr.toString(16);
        prand 
= (mult * prand + incr) % modu;
    }
      salt 
= salt.toString(16);
      
while(salt.length < 8)salt = "0" + salt;
    enc_str 
+= salt;
    
return enc_str;
}
function Decrypt(str, pwd) {
    
if(str=="")return "";
    
if(!pwd || pwd==""){ var pwd="1234"; }
    pwd 
= escape(pwd);
      
if(str == null || str.length < 8) {
        alert(
"A salt value could not be extracted from the encrypted message because it's length is too short. The message cannot be decrypted.");
        
return;
      }
      
if(pwd == null || pwd.length <= 0) {
        alert(
"Please enter a password with which to decrypt the message.");
        
return;
      }
      
var prand = "";
      
for(var I=0; I<pwd.length; I++) {
        prand 
+= pwd.charCodeAt(I).toString();
      }
      
var sPos = Math.floor(prand.length / 5);
      
var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2+ prand.charAt(sPos*3+ prand.charAt(sPos*4+ prand.charAt(sPos*5));
      
var incr = Math.round(pwd.length / 2);
      
var modu = Math.pow(231- 1;
      
var salt = parseInt(str.substring(str.length - 8, str.length), 16);
      str 
= str.substring(0, str.length - 8);
      prand 
+= salt;
      
while(prand.length > 10) {
        prand 
= (parseInt(prand.substring(010)) + parseInt(prand.substring(10, prand.length))).toString();
      }
      prand 
= (mult * prand + incr) % modu;
      
var enc_chr = "";
      
var enc_str = "";
    
for(var I=0; I<str.length; I+=2) {
        enc_chr 
= parseInt(parseInt(str.substring(I, I+2), 16^ Math.floor((prand / modu) * 255));
        enc_str 
+= String.fromCharCode(enc_chr);
        prand 
= (mult * prand + incr) % modu;
    }
    
return unescape(enc_str);
}
//  End -->
</script>