问题描述
要求:加密:在一个文本框中输入设置密码,单击按钮加密。解密的时候:单击解密按钮,输出一串字符串。作为解密密码。我没有思路,该怎么弄,高手指点一下,求代码。。。我将感激不尽!
解决方案
解决方案二:
[img=d:userszmhuaMyDocumentsMyPictures][/img]
解决方案三:
用ajax,建议jquery+ajax+ashx,异步访问ashx页面,在该页面写好加密和解密的方法,建议用base64的加密解密,网上一搜很多的
解决方案四:
引用2楼yyl8781697的回复:
用ajax,建议jquery+ajax+ashx,异步访问ashx页面,在该页面写好加密和解密的方法,建议用base64的加密解密,网上一搜很多的
你用base64加密有用么,人家一看的字符串格式,直接用base64解密就解出来了。这种情况建议用DES加密,也就是对称加密。网上有这方面的相关函数。在加密页面一个文本框输入待加密的字符串,一个文本框输入密钥,点击加密按钮调用加密函数得到加密后的字符串。在解密页面通用的,一个文本框输入待解密的字符串,一个文本框输入密钥(就是刚才加密的密钥),点击解密按钮,调用解密函数即可得到原来被加密的字符串。
解决方案五:
//默认DES密钥向量privatestaticbyte[]DesKeys={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};///<summary>///DES加密字符串///</summary>///<paramname="encryptString">待加密的字符串</param>///<paramname="encryptKey">加密密钥,要求为8位</param>///<returns>加密成功返回加密后的字符串,失败返回原字符串</returns>publicstaticstringDesEncode(stringencryptString,stringencryptKey){//encryptKey=GetSubString(encryptKey,8,"");encryptKey=encryptKey.PadRight(8,'');byte[]rgbKey=Encoding.UTF8.GetBytes(encryptKey.Substring(0,8));byte[]rgbIV=DesKeys;byte[]inputByteArray=Encoding.UTF8.GetBytes(encryptString);DESCryptoServiceProviderdCSP=newDESCryptoServiceProvider();MemoryStreammStream=newMemoryStream();CryptoStreamcStream=newCryptoStream(mStream,dCSP.CreateEncryptor(rgbKey,rgbIV),CryptoStreamMode.Write);cStream.Write(inputByteArray,0,inputByteArray.Length);cStream.FlushFinalBlock();returnConvert.ToBase64String(mStream.ToArray());}///<summary>///DES解密字符串///</summary>///<paramname="decryptString">待解密的字符串</param>///<paramname="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>///<returns>解密成功返回解密后的字符串,失败返原字符串</returns>publicstaticstringDesDecode(stringdecryptString,stringdecryptKey){try{//decryptKey=GetSubString(decryptKey,8,"");decryptKey=decryptKey.PadRight(8,'');byte[]rgbKey=Encoding.UTF8.GetBytes(decryptKey);byte[]rgbIV=DesKeys;byte[]inputByteArray=Convert.FromBase64String(decryptString);DESCryptoServiceProviderDCSP=newDESCryptoServiceProvider();MemoryStreammStream=newMemoryStream();CryptoStreamcStream=newCryptoStream(mStream,DCSP.CreateDecryptor(rgbKey,rgbIV),CryptoStreamMode.Write);cStream.Write(inputByteArray,0,inputByteArray.Length);cStream.FlushFinalBlock();returnEncoding.UTF8.GetString(mStream.ToArray());}catch{return"";}}
解决方案六:
高手,谢谢您的指教、!……
解决方案七:
引用4楼cykb518的回复:
有点不太懂哦。。。。C#code//默认DES密钥向量privatestaticbyte[]DesKeys={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};///<summary>///DES加密字符串///</summary>//……
解决方案八:
DES加密。上面已经说了!
解决方案九:
引用7楼hou306010849的回复:
DES加密。上面已经说了!
我知道是des加密呀。但是不知道怎么用的呀。以前没做过这方面的。。
解决方案十:
引用8楼minghua282的回复:
引用7楼hou306010849的回复:DES加密。上面已经说了!我知道是des加密呀。但是不知道怎么用的呀。以前没做过这方面的。。
基础不会这么差吧,我已经给你函数了,函数不知道怎么用?什么是类?什么是函数?什么事面对对象的基本特性?不要告诉我这些不知道哈。
解决方案十一:
谁说base64可以随便破解?你不会自己写密码表?
解决方案十二:
引用9楼cykb518的回复:
引用8楼minghua282的回复:引用7楼hou306010849的回复:DES加密。上面已经说了!我知道是des加密呀。但是不知道怎么用的呀。以前没做过这方面的。。基础不会这么差吧,我已经给你函数了,函数不知道怎么用?什么是类?什么是函数?什么事面对对象的基本特性?不要告诉我这些不知道哈。
你干吗不问他啥是装箱啊