JavaScript加密函数
我需要创建一个基本的JavaScript加密函数来加密登录页面上的用户名和密码。我能找到的唯一信息是使用在线软件提供加密,但我需要使用JavaScript并在登录页面的HTML代码中放置一个简单的加密函数 我还想更好地理解在使用JavaScript引用加密函数时,类型、应用程序和方法的实际含义JavaScript加密函数,javascript,html,dom,Javascript,Html,Dom,我需要创建一个基本的JavaScript加密函数来加密登录页面上的用户名和密码。我能找到的唯一信息是使用在线软件提供加密,但我需要使用JavaScript并在登录页面的HTML代码中放置一个简单的加密函数 我还想更好地理解在使用JavaScript引用加密函数时,类型、应用程序和方法的实际含义 谢谢。正如评论中提到的,javascript加密并不是很安全,正如文章中所描述的:,但基本上,有人可以查看源代码,通过使用调试工具,他们可以确定加密是如何完成的 有时,人们也可以在您发送源文件时获取源文件
谢谢。正如评论中提到的,javascript加密并不是很安全,正如文章中所描述的:,但基本上,有人可以查看源代码,通过使用调试工具,他们可以确定加密是如何完成的 有时,人们也可以在您发送源文件时获取源文件 现在,考虑到这一点,如果您不完全信任SSL,并且希望通过Internet发送敏感信息,那么加密可能很有用 因此,您遇到了如何加密的问题 RSA加密适用于小消息,因为它速度慢,所以,例如,您需要加密密码。然后,服务器可能包含它为此页面生成的公钥,以及您的程序加密 加密不会很简单,但是你可以看看它的来源,它可能会帮助你 举个例子,你可以看看这个,我从哪里得到的:
function RSAdoEncryption()
{
var mod=new Array();
var exp=new Array();
var s = r2s(document.t.pkey.value);
var l = Math.floor((s.charCodeAt(0)*256 + s.charCodeAt(1)+7)/8);
mod = mpi2b(s.substr(0,l+2));
exp = mpi2b(s.substr(l+2));
var p = document.rsatest.plaintext.value+String.fromCharCode(1);
var pl = p.length;
if(pl > l-3)
{
alert('In this example plain text length must be less than modulus of '+(l-3)+' bytes');
return;
}
var b=s2b(p);
var t;
var i;
var startTime=new Date();
var enc=RSAencrypt(b,exp,mod);
var endTime=new Date();
document.rsatest.ciphertext.value=s2hex(b2s(enc));
document.rsatest.howLong.value=(endTime.getTime()-startTime.getTime())/1000.0;
}
你的最后一句话没有意义,但我猜
加密有两种基本类型,对称和非对称。RSA是不对称的一个例子,因此用于加密的密钥与用于解密的密钥不同。这就是公钥和私钥的含义。一个密钥与其他人共享,但如果您知道公钥,则无法帮助您找到私钥
对称加密是指使用相同的密钥进行加密和解密。IDEA、AES、Blowfish都是对称密钥的例子
我希望该方法是加密算法,但它也可以引用,也许,在末尾添加额外的垃圾或随机字符,以使消息更长 在前言中,我想说的是,不建议您创建自己的加密方案或实现供您以外的任何人使用。此外,尽管经过良好测试和熟知的库比创建自己的库要好,但您无法保证任何安全性 话虽如此,这里有几个看起来很有前途的加密库
var salt = bcrypt.gensalt(5);
bcrypt.hashpw('mypassword', salt,
function result(hashedpassword) {},
function callback() {}
);
请记住,web应用程序存在许多漏洞。在处理安全性时,应考虑运行应用程序的三个主要部分(即客户端、服务器和传输)。SSL对于保护传输中的数据是必要的,但同样,由于存在解决方法,安全性无法保证。此外,攻击者还可以对客户端和服务器发起攻击
查看OWASP(开放式Web应用程序安全项目)漏洞列表。OWASP维护此列表以表示最常见和最关键的web应用程序安全缺陷
安全性可能是一个非常敏感的话题,许多人忽视了为面向公众的应用程序提供强大安全系统的重要性。诚然,如果你正在从事个人项目,或者你的应用程序不处理任何机密信息,那么你就不必太担心这一点。如果你在寻找安全性,只需使用https,加密不会起任何作用。此外@DaveChen评论说,JS是一个错误的环境,因为任何有权查看JS文件的人都可以使用您设法实现的任何加密背后的机制和算法。加密只有在服务器上才有意义。请看CryptoJS或asmcrypto.js,它们的性能更好。谢谢大家提供的信息。我在大学里找到了一个加密函数,并试图让它工作。