页面传值的加密解密

问题描述

<ahref="../job/news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>"target="_blank">我想对id进行MD5加密,到news.aspx页面解密,怎么做啊?各位帮帮忙啊!

解决方案

解决方案二:
对字符串string1加密:stringstr1=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string1,"SHA1")或者System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string,"md5")到news.aspx页面解密,可以对string2再加密得到str2,然后比较str1==str2
解决方案三:
如果想正向解密的话,使用des
解决方案四:
用这个吧在引用usingSystem.Security.Cryptography;conststringKEY_64="VavicApp";//注意了,是8个字符,64位conststringIV_64="VavicApp";publicstringEncode(stringdata){byte[]byKey=System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);byte[]byIV=System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);DESCryptoServiceProvidercryptoProvider=newDESCryptoServiceProvider();inti=cryptoProvider.KeySize;MemoryStreamms=newMemoryStream();CryptoStreamcst=newCryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);StreamWritersw=newStreamWriter(cst);sw.Write(data);sw.Flush();cst.FlushFinalBlock();sw.Flush();returnConvert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);}publicstringDecode(stringdata)//解密{byte[]byKey=System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);byte[]byIV=System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);byte[]byEnc;try{byEnc=Convert.FromBase64String(data);}catch{returnnull;}DESCryptoServiceProvidercryptoProvider=newDESCryptoServiceProvider();MemoryStreamms=newMemoryStream(byEnc);CryptoStreamcst=newCryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);StreamReadersr=newStreamReader(cst);returnsr.ReadToEnd();}
解决方案五:
<ahref="../job/news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>"target="_blank">id=<%#DataBinder.Eval(Container.DataItem,"id")%>改为:DataBinder.Eval(Container.DataItem,"id")id=<%#System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(DataBinder.Eval(Container.DataItem,"id").ToString(),"md5")%>"
解决方案六:
不要考虑用MD5加密,MD5是不可逆的,也就是不能解密用别的加密方法,比如DES参考一下:http://blog.csdn.net/jjhua/archive/2007/10/28/1850469.aspx
解决方案七:
MD5不可逆

时间: 2024-07-31 07:20:17

页面传值的加密解密的相关文章

PHP实现URL加密解密的内部算法

最近学习URL跳转的时候新进三个超好用的PHP加密解密函数,貌似是discuz里的-使用这些加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧. 将它们打包成一个文件就叫fun.php吧 <?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(r

关于网页代码加密解密保护

加密|解密|网页 文本代码保护是件很头痛的事,随着了解的加深保护的方法越多,也就意味着漏洞越多. [-调取原代码的方法-] 1:右键 - 查看原文件 2:查看 - 原文件 3:文件 - 另存为 4:IE缓存 5:还可以通过代码提取 教程代码: <SCRIPT> function add() { var ress=document.forms[0].it315zhangxx.value window.location="view-source:"+ress; } </S

数据库连接字符串的处理方法!加密解密连接字符串

加密|解密|数据|数据库|数据库连接|字符串 数据库连接字符串的处理应该是一个项目里最基础的东东了.(除非你的项目不涉及到数据库.) 千万不要小看他,处理不好也时会给你带来不少的麻烦的. 连接字符串的内容在这里就不讨论了,这里主要说一下他的存放位置和读取方法. 我们要达到的目的:无论连接字符串如何变化,都不需要修改项目! 1.把连接字符串写在程序里面. 一般的初级教程里会告诉你这么写 VB.net Dim cn As New SqlClient.SqlConnection("user id=sa

网站安全之ASP程序加密/解密方法大揭密

安全|程序|加密|解密 如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题,网上求解这类问题的帖子非常多,下面我们就来谈谈ASP程序的加密方法. 一.如何加密ASP程序? 目前对ASP程序的加密方法主要有三种:脚本编码器(SRCENC.EXE)加密.组件加密.自编程序加密,下面我们就来展开介绍这三种加密方法. 1.使用微软的MS Script En

经典PHP加密解密函数Authcode()修复版代码

 Authcode这个函数很多人都使用,这函数来自Discuz程序,用于加密解密字符串,可以设置钥匙(key)和过期时间,在很多时候都用得着.原版的函数代码可能会生成+./.&这样的字符,导致通过URL传值取回时被转义,导致无法解密.火端网络稍加修改,把这几个字符替换成其它字符,解密时再替换回去,这样就完美了! 代码如下:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

用C#实现字符串的加密解密操作

  哈哈,最近刚刚开始学习C#,感觉挺好.      下面一段代码是用C#实现的,主要完成对字符串的加密和解密操作.           //源代码 //对一段字符串实现加密解密操作 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace study_test4 {     class Program     {         static void Main

一步一步教你加密解密技术——软件保护技术(1)(1)

第6章 软件保护技术第一节 常见保护技巧1.序列号方式(1)序列号保护机制数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧.但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了. 我们先来看看在网络上大行其道的序列号加密的工作原理.当用户从网络上下载某个shareware--共享软件后,一般都有使用时间上的限制,当过了共享软件的试用期后,你必须到这个软件的公司去注册后方能继续使用.注册过程一

PHP 加密解密内部算法_php技巧

将它们打包成一个文件就叫fun.php吧 复制代码 代码如下: <?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ''; for($i = 0;$i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ?

PHP加密解密内部算法

<?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ''; for($i = 0;$i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $encrypt_key[$