当前位置:首页 » 密码管理 » jsjava加密算法

jsjava加密算法

发布时间: 2023-01-26 09:38:43

① 请高人指点一段javascript加密算法的思想...急!!!!

这个加码程序是利用随机码进行加密的,从我初步的判断就是利用了一个随机数而已,然后将这个随机数又用8位16进行在密文的最后累上的。所以很容易找到这个随机的干扰码的,对于加密的过程,写的还不错,但加密的粒度太低,也就是只是对密匙位数进行加密,不过想逆它一般还是很难的,但好在粒度低,就算是用暴破的方法也是很快可以解密的。前提是密匙的不安全性。反算可以通过255次+8421505次就可计算出你的密码。还是由于粒度低,密文碰撞性比较大。好像没有很好的处理。str就是这时原密匙,而pwd则是密码,待加密字符。而生成出来的就是明文可以在网上任何传播的。

这个程序基本上实现了加密的几个要素。思想不错,便由于粒度低,再加上本身JS的不安全性,所以还是比较脆弱的。至于说算法,在密码学上加密的算法本身就是公开的。一楼的,JS暴出来又如何?

这个加密方法也有它自身的好处,SHA1和MD5都是固定位数的加密,而这个是一个动态的长度不固定的加密,如果你愿意,把你的密匙设为8位,则加密的内容是16+8位,当然,如果是设20位时加密的过程则出现48位的。而不是像MD5的16位和32位那么固定。

不过提到了DES和TDES,你不妨借用它们的思想,将加密过的内容,再以同样的方式,再样的密匙再加密一次或二次,破解难度无疑提高了。

一般加密中很少使用^运算的。可以考虑使用|或者是&运算。因为^运算有一个特点就是:A^C=B时,则B^C=A,同时A^C=B,所以降低的破解难度!

sorry,由于上次看这个东西时间短,所以说错了点,不过这个加密还是很不错的。str是待加密的密文,而函数的返回值是加密过的明文,PWD才是密匙,由于对这个算法很感兴趣,便下从回家时看了看,原来这个是一个对称加密的方式。写的很好,如果密匙不是泄露的原因,还是要过255次+8421505次的试验才可得到正确的结果,所以说,加密的粒度低。便由于是动态的,且由于程序短小适合对于大量的文本加密,那么破解就变得不那么容易了。首先一次我还是说,加密算法与解密算法是公开的,因为生成明文的过程不依赖于算法。而是依赖于密匙的。只在密匙不泄露就可以了。像这类的算法本身都是公开的也用不着去暴JS代码的。所以根据其加密算法,我已经写出了解密的过程。也就是说你可以将一篇文本加密后发给我,然后只要告诉我密匙,我就能知道具体的内容了。在加密学中,密匙的才是解密的,所以, 如果算法中可以有逆过程时是错误的加密方式,这样的加密过于依赖算法。而想逆一下要多长时间才是衡量一个加密的强度的。比如这个过程要100年(要计算机运算的时间)才能逆,那么相对目前来说是相当安全的。而这个加密却是能对大量文件进行加密的。所以速度上还是很好的,这里我们不能以非对称加密方式去衡量它的安全性。

② Java和js使用AES/CBC/PKCS5Padding(或者7)得到相同的密文

首先准备一份明文和秘钥:
var plaintText = 'aaaaaaaaaaaaaaaa'; // 明文
var keyStr = 'bbbbbbbbbbbbbbbb'; // 一般key为一个字符串

参看官网文档,AES方法是支持AES-128、AES-192和AES-256的,加密过程中使用哪种加密方式取决于传入key的类型,否则就会按照AES-256的方式加密。
CryptoJS supports AES-128, AES-192, and AES-256. It will pick the variant by the size of the key you pass in. If you use a passphrase, then it will generate a 256-bit key.
由于Java就是按照128bit给的,但是由于是一个字符串,需要先在前端将其转为128bit的才行。

③ 记录一下前端使用CryptoJS的几种加密方式

自己太小白了,之前在PC端项目中使用的MD5加密,现在的小程序项目使用了 CryptoJS 里面的 enc-base64 和 hmac-sha1 ,之前没有用到过这两种,所以比较疑惑,为何在小程序不继续使用 MD5 呢?所以在这里记录一下自己解疑惑的一些知识点。

随着互联网的兴起,我们对信息的安全越来越受重视,这样就导致在web开发中,对用户密码等各种加密变得更加重要了。与服务器的交互中,为了确保数据传输的安全性,避免被黑客抓包篡改。

对于Base64编码的,我觉得看一篇文章能够解决你的疑惑,我在这里就不赘述了
🧐 Base64编码原理

如: 用户密码,请求参数,文件加密

如: 接口参数签名验证服务

支付数据、CA数字证书

前端的朋友可能会关注前端js加密,我们在做 WEB 的登录功能时一般是通过 Form 提交或 Ajax 方式提交到服务器进行验证的。为了防止抓包,登录密码肯定要先进行一次加密(RSA),再提交到服务器进行验证。一些大公司都在使用,比如淘宝、京东、新浪 等。

前端加密也有很多现成的js库,如:

JS-RSA: 用于执行OpenSSL RSA加密、解密和密钥生成的Javascript库, https://github.com/travist/jsencrypt

MD5: 单向散列加密md5 js库, https://github.com/blueimp/JavaScript-MD5

crypto-js: 对称加密AES js库, https://github.com/brix/crypto-js

-CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。

HMAC 系列是消息验证,用于验证一个消息是否被篡改——如网站上传递 email 和 hmac(email),则接收时可以通过 hmac(email) 获知 email 是否是用户伪造的

④ URL请求对参数前端JS加密,后台JAVA解密

数字的话可以使用 Base62 算法,不过这只是表面的转换,因为算法是写在Js里的,稍加分析就能知道怎么去翻转。
如果要有效加密的话,可以使用js调用RSA算法进行加密,这样js中只会暴露公钥,可以实现安全的加密。
网上多得很。

⑤ Java怎么加密字符串js才能解密

像CODE64编码这种,js就能解密。包括像DES等等很多算法,只要知道密钥,js就都能解密。不过不推荐前台解密的方式,容易泄露密钥和密码

⑥ 如何看待javascript和Java的RSA加密算法加密出来的密文不一致

写的有问题。。。。。。。你确定你的两个钥是一样的。。。有可能是变量溢出或者强制转换的问题。。。毕竟RSA计算过程中会有很大的数,而integer只有2^32,假如溢出两个语言处理的方式可能不一样

⑦ 如何看待javascript和Java的RSA加密算法加密出来的密文不一致

写的有问题。确定两个钥是一样的。有可能是变量溢出或者强制转换的问题。毕竟RSA计算过程中会有很大的数,而integer只有2^32,假如溢出两个语言处理的方式可能不一样。

⑧ 如何使用javascript进行RSA/ECB/PKCS1Padding算法加密

javascript rsa加密/java使用Cipher.getInstance("RSA/ECB/PKCS1Padding")解密
1)服务器端获得生成密钥对;
2)javascript使用公钥加密;
3)java获得密文使用私钥解密;

⑨ js有几种加密方式

首先,MD5不是加密算法,是签名算法,哎,到底是有多少国人被毒害了呀。

另外,只要是可以由软件实现的加密算法,js都能使用,只是有效率问题,
一般的
非对称算法,使用的资源都很庞大,所以js很少有。
而对称的加密算法……,由于js是对用户可见的,所以……就和没加密一样。

这也就是为什么真正的高安全网站都不会选择用js做加密,而是选择用https 协议这样的手段。

再次重申,MD5不是加密算法,所以不再上述范围内

⑩ 如何前台JS进行加密,后台java进行解密

很不幸,就以我的知识范围,纯粹的JS无法做到百分百的安全。理由如下:

  1. 现在的浏览器端可以直接看到你的JS代码,JS代码都是明文的。尽管你可以压缩,混淆,但是也是加大hack的难度,无法彻底对浏览器不可见。既然你的代码都被看见了,那么Hash,加密都是扯淡了。

  2. 对内容加密可以使用HTTPS,这点不假。但是这仅仅能够抵抗抓包工具,但是通过浏览器的开发工具,仍然能够看到你的请求内容,格式。那么就可以按照你的格式伪造请求。我们就可以通过伪造请求修改某社交网站的用户设置。

结论:纯粹JS看起来无法满足你的需求,但是可以使用object标签,自己开发控件进行数据加密,这点事可以的。但是这就超出了JS的范围。并且Object的这个话题太大,我没办法给你展开,你自己研究下吧

热点内容
ftp客户端程序 发布:2025-08-25 13:03:52 浏览:920
搭建网站阿里云服务器怎么选 发布:2025-08-25 12:54:40 浏览:954
linux怎么看目录 发布:2025-08-25 12:37:57 浏览:760
加密连接不可用 发布:2025-08-25 12:33:46 浏览:387
html5存储本地存储 发布:2025-08-25 11:47:41 浏览:116
文件在线加密 发布:2025-08-25 11:29:56 浏览:87
c语言数值表 发布:2025-08-25 11:13:35 浏览:488
regexpython 发布:2025-08-25 11:13:29 浏览:33
防服务器如何攻击 发布:2025-08-25 10:50:11 浏览:535
sql返回参数的存储过程 发布:2025-08-25 10:47:15 浏览:849