社区
Java
帖子详情
求简单加密解密工具,用于加密以get方式提交的密码!
马行空牛耕田
2004-11-12 11:27:59
环境:以get方式提交的密码,即密码写在url中里
要求:加密方式简单,加密后的密码和原密码长度区别不大,最好是等长;且都为字母,因为要写在url中。
...全文
385
19
打赏
收藏
求简单加密解密工具,用于加密以get方式提交的密码!
环境:以get方式提交的密码,即密码写在url中里 要求:加密方式简单,加密后的密码和原密码长度区别不大,最好是等长;且都为字母,因为要写在url中。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
马行空牛耕田
2004-11-16
打赏
举报
回复
多谢xiayiping(平) ,如果可以,请发mail到:wintersun_ph@163.com
多谢romeo00001(从心做起),给了我新的思路。
结贴咯!
romeo00001
2004-11-16
打赏
举报
回复
呵呵。把username设为PASSWORD,。。。,PASSWORD设为USERNAME,。。,多设几个域,加密,加个验证域发过去。
接收时通过验证域取回来。这样他怎么样都不能发送出正当的请求。。
比如这次可能value=username
username=value
password =password.
下次就是username=username
value=password
password=value
xiayiping
2004-11-16
打赏
举报
回复
简单加解密?
我原来做解密的时候,我们组一个人做了一个解密的软件,很强大!
要吗?给分就发给你
马行空牛耕田
2004-11-16
打赏
举报
回复
佩服“d_selenite(计算机的奴隶) :
一语中的,不管我怎么在url中加密密码,只要窃取者拿到用户名和加密后的密码,一样可以向url提交正当请求。
不过我其实是不甘心让别人一眼就看出我的加密方式,所以才来求比较复杂但又不会太复杂的加密算法。
这个帖子也骗了不少回复了,今晚就结贴! 多谢各位!
深圳万兴
2004-11-16
打赏
举报
回复
楼主顶坏了吧,我替你顶一把!
网易的从泡泡进入邮箱的时候就是在url中加密过的
xiaoxiaoyupku
2004-11-16
打赏
举报
回复
up
d_selenite
2004-11-16
打赏
举报
回复
这类方法根本就没有加密
客户端发被你编码过的密码,你接收到那个编码过的密码,并识别它
如果我在中间窃听到了这个编码过的密码,然后我就把这个编码过的密码伪装成你的客户,你并不能有效的区分开
就算客户端的密码是加密了的,服务器端数据库中记录的也是加密后的密码,然后你的验证是比较一下从客户端发给你的密码和数据库中的密码,但如果我在中间窃听到了这个密码,我并不需要解密,只需要把它原样发给你就能成功的伪装了
加密要加的是中间的传输过程,用https协议吧
AFTB2
2004-11-16
打赏
举报
回复
看的加密的比较简单的有,不知道GET的要求,但是我们基本都将密码加上几位,比如原来是A加2就是C
以此类推后边的就往前进位,个人感觉不错啊。而且不同的位还可以加不同的啊!推荐 呵呵
马行空牛耕田
2004-11-16
打赏
举报
回复
顶一顶 ^_^
lenoli
2004-11-15
打赏
举报
回复
简单的不如不加,感觉没什么用
浪费资源
debug148
2004-11-15
打赏
举报
回复
ding
killwin
2004-11-15
打赏
举报
回复
为什么要加密?
如果一定要以get方式传输,那就不要加密了
加密方式再好,通过查看网页源文件就能看到。和直接明文传送差不多。
我看到很多网站都是直接明文传输的。
water2004
2004-11-15
打赏
举报
回复
DING
cheyo车油
2004-11-15
打赏
举报
回复
用MD5,能否满足你的要求??
/* MD5 Message-Digest Algorithm - JavaScript
' MODIFICATION HISTORY:
' 1.0 16-Feb-2001 - Phil Fresle (sales@frez.co.uk) - Initial Version (VB/ASP code)
' 1.0 21-Feb-2001 - Enrico Mosanghini (erik504@yahoo.com) - JavaScript porting
*/
function MD5(sMessage) {
function RotateLeft(lValue, iShiftBits) { return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); }
function AddUnsigned(lX,lY) {
var lX4,lY4,lX8,lY8,lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
if (lX4 & lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
if (lX4 | lY4) {
if (lResult & 0x40000000) return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
else return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
} else return (lResult ^ lX8 ^ lY8);
}
function F(x,y,z) { return (x & y) | ((~x) & z); }
function G(x,y,z) { return (x & z) | (y & (~z)); }
function H(x,y,z) { return (x ^ y ^ z); }
function I(x,y,z) { return (y ^ (x | (~z))); }
function FF(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function GG(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function HH(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function II(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function ConvertToWordArray(sMessage) {
var lWordCount;
var lMessageLength = sMessage.length;
var lNumberOfWords_temp1=lMessageLength + 8;
var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
var lWordArray=Array(lNumberOfWords-1);
var lBytePosition = 0;
var lByteCount = 0;
while ( lByteCount < lMessageLength ) {
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (sMessage.charCodeAt(lByteCount)<<lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
lWordArray[lNumberOfWords-2] = lMessageLength<<3;
lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
return lWordArray;
}
function WordToHex(lValue) {
var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
for (lCount = 0;lCount<=3;lCount++) {
lByte = (lValue>>>(lCount*8)) & 255;
WordToHexValue_temp = "0" + lByte.toString(16);
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
}
return WordToHexValue;
}
var x=Array();
var k,AA,BB,CC,DD,a,b,c,d
var S11=7, S12=12, S13=17, S14=22;
var S21=5, S22=9 , S23=14, S24=20;
var S31=4, S32=11, S33=16, S34=23;
var S41=6, S42=10, S43=15, S44=21;
// Steps 1 and 2. Append padding bits and length and convert to words
x = ConvertToWordArray(sMessage);
// Step 3. Initialise
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
// Step 4. Process the message in 16-word blocks
for (k=0;k<x.length;k+=16) {
AA=a; BB=b; CC=c; DD=d;
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
d=GG(d,a,b,c,x[k+10],S22,0x2441453);
c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
a=II(a,b,c,d,x[k+0], S41,0xF4292244);
d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
c=II(c,d,a,b,x[k+6], S43,0xA3014314);
b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); d=AddUnsigned(d,DD);
}
// Step 5. Output the 128 bit digest
var temp= WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
return temp.toLowerCase();
}
马行空牛耕田
2004-11-15
打赏
举报
回复
我顶,再顶一次!
马行空牛耕田
2004-11-15
打赏
举报
回复
sirfei(让程序作主) :
URLEncoder这个不是专门的加密类吧,只是为了避免和url冲突的吧……
sirfei
2004-11-15
打赏
举报
回复
用JAVA自己带的java.net.URLEncoder
马行空牛耕田
2004-11-15
打赏
举报
回复
谢谢cheyo(五秒钟),MD5不可逆,且太长,所以不适合。
自己写了个简单的位移算法实现了加密,但是没时间把它写得更复杂。
希望哪位朋友帮个忙 :)
马行空牛耕田
2004-11-12
打赏
举报
回复
我顶,我顶
用于
电脑文件的
加密
、解密、破解软件
这个小型软件能够实现电脑上的文件
加密
解密
功能,而且在
加密
解密
过程中能够让用户看到
加密
解密
的进度及正在操作的文件名及文件大小。同时该软件能够自动识别文件是否已
加密
。 文件具有自动保护功能,即在用户强制关机或者强制结束进程,都不会造成源文件的破坏,更不会丢失未完成的文件。 该款软件能够实现个性化设置,即以后每次启动运行后都会以上次设置的界面显示。 如果用户在忘了
密码
的情况下,能够运用软件自带的破解功能找回
密码
,当然再运行破解功能时,需要你的最高权限。
scytale:Wrapper Go库和
工具
可轻松进行(ZIP)文件
加密
Scytale是一个
简单
的包装库,可轻松快速地使用Go
加密
。 大部分功劳都精彩的库。 安装 使用go get安装软件包: $ go get gopkg.in/matm/scytale.v1
工具
bin/aesenc和bin/aeszip CLI
工具
允许使用在运行的 -256文件
加密
,(PBE)和基于
密码
的密钥派生功能。 前者可
用于
加密
/解密单个文件: $ go install gopkg.in/matm/scytale.v1/bin/aesenc $ aesenc -o out.enc myfile.pdf $ aesenc -o myfile.pdf -d out.enc 后者将一堆文件
加密
为标准的文件: $ go install gopkg.in/matm/scytale.v1/bin/aeszip $ aeszip -o secure.zip *.pdf aeszip -
PasswordManager
密码
管理器 这是一个
密码
管理器,
用于
组织和
加密
密码
。 用法 java PasswordManager -添加描述
密码
java PasswordManager -GET SEARCHSTRING java PasswordManager -UPDATE ENTRYID NEWPASSWORD
密码
文件
密码
文件包含每个条目的描述、盐和
加密
密码
。 算法 获取主
密码
明文
密码
文件 = 解密(主
密码
,
加密
密码
文件) 对于 PlaintextPasswordFile 中的每一行:获取 PasswordSalt、PasswordEncrypted、PasswordDescription 获取用户操作 如果 UserAction = "添加": get Description, PasswordPlaintext generate PasswordSalt PasswordEncryp
用Get
方式
提交
信息
加密
解密
在js中可以使用escape(), encodeURL(), encodeURIComponent(),三种方法都有一些不会被编码的符号:escape():@ * / +encodeURL():! @ # $& * ( ) = : / ; ? + ‘encodeURIComponent():! * ( ) ‘在java端可以使用URLDecoder.decode(“中文”, “UTF-8”);来进行
Android AES
加密
解密
工具
类
一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个Android AES
加密
解密
工具
类 一个An
Java
50,531
社区成员
85,616
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章