精华内容
下载资源
问答
  • URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;
  • import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;public class Arithmetic {static Key key;/*** 根据参数生成KEY** @param strKey...

    package cn;

    import java.security.Key;

    import java.security.SecureRandom;

    import javax.crypto.Cipher;

    import javax.crypto.KeyGenerator;

    public class Arithmetic {

    static Key key;

    /**

    * 根据参数生成KEY

    *

    * @param strKey

    */

    public static void getKey(String strKey) {

    try {

    KeyGenerator _generator = KeyGenerator.getInstance("DES");

    _generator.init(new SecureRandom(strKey.getBytes()));

    key = _generator.generateKey();

    _generator = null;

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    /**

    * 加密String明文输入,String密文输出

    *

    * @param strMing

    * @return

    */

    public static String getEncString(String strMing) {

    byte[] byteMi = null;

    byte[] byteMing = null;

    String strMi = "";

    try {

    return byte2hex(getEncCode(strMing.getBytes()));

    // byteMing = strMing.getBytes("UTF8");

    // byteMi = this.getEncCode(byteMing);

    // strMi = new String( byteMi,"UTF8");

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    byteMing = null;

    byteMi = null;

    }

    return strMi;

    }

    /**

    * 解密 以String密文输入,String明文输出

    *

    * @param strMi

    * @return

    */

    public static String getDesString(String strMi) {

    byte[] byteMing = null;

    byte[] byteMi = null;

    String strMing = "";

    try {

    return new String(getDesCode(hex2byte(strMi.getBytes())));

    // byteMing = this.getDesCode(byteMi);

    // strMing = new String(byteMing,"UTF8");

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    byteMing = null;

    byteMi = null;

    }

    return strMing;

    }

    /**

    * 加密以byte[]明文输入,byte[]密文输出

    *

    * @param byteS

    * @return

    */

    private static byte[] getEncCode(byte[] byteS) {

    byte[] byteFina = null;

    Cipher cipher;

    try {

    cipher = Cipher.getInstance("DES");

    cipher.init(Cipher.ENCRYPT_MODE, key);

    byteFina = cipher.doFinal(byteS);

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    cipher = null;

    }

    return byteFina;

    }

    /**

    * 解密以byte[]密文输入,以byte[]明文输出

    *

    * @param byteD

    * @return

    */

    private static byte[] getDesCode(byte[] byteD) {

    Cipher cipher;

    byte[] byteFina = null;

    try {

    cipher = Cipher.getInstance("DES");

    cipher.init(Cipher.DECRYPT_MODE, key);

    byteFina = cipher.doFinal(byteD);

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    cipher = null;

    }

    return byteFina;

    }

    /**

    * 二行制转字符串

    *

    * @param b

    * @return

    */

    public static String byte2hex(byte[] b) { // 一个字节的数,

    // 转成16进制字符串

    String hs = "";

    String stmp = "";

    for (int n = 0; n < b.length; n++) {

    // 整数转成十六进制表示

    stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));

    if (stmp.length() == 1)

    hs = hs + "0" + stmp;

    else

    hs = hs + stmp;

    }

    return hs.toUpperCase(); // 转成大写

    }

    public static byte[] hex2byte(byte[] b) {

    if ((b.length % 2) != 0)

    throw new IllegalArgumentException("长度不是偶数");

    byte[] b2 = new byte[b.length / 2];

    for (int n = 0; n < b.length; n += 2) {

    String item = new String(b, n, 2);

    // 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节

    b2[n / 2] = (byte) Integer.parseInt(item, 16);

    }

    return b2;

    }

    public static void main(String[] args) {

    Arithmetic des = new Arithmetic();// 实例化一个对像

    des.getKey("aadd");// 生成密匙

    String strEnc = des.getEncString("樊振华");// 加密字符串,返回String的密文

    System.out.println(strEnc);

    String strDes = des.getDesString(strEnc);// 把String 类型的密文解密

    System.out.println(strDes);

    }

    }

    展开全文
  • URL参数加密解密

    2019-12-18 16:15:55
    <title>PHP URL参数加密解密 用这个加密: $str='PHP'; echo base64_encode($str); ?> 用这个解密: $str='UEhQ'; echo base64_decode($str); ?>   function keyED($txt,$encrypt_key)...

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PHP URL参数加密解密</title>
    </head>

    <body>
    用这个加密:
    <?php
    $str='PHP';
    echo base64_encode($str);
    ?>
    <br />用这个解密:
    <?php
    $str='UEhQ';
    echo base64_decode($str);
    ?>

    <?php 
    function keyED($txt,$encrypt_key) //定义一个keyED
    {        
        $encrypt_key =    md5($encrypt_key); 

    http://segmentfault.com/bookmark/1230000002307684-2014-11-21

    展开全文
  • url参数加密解密

    2019-07-08 14:35:43
    var encodeData = window.btoa("name=xiaoming&age=10")//编码 var decodeData = window.atob(encodeData)//解码。
    var encodeData = window.btoa("name=xiaoming&age=10")//编码
    
    var decodeData = window.atob(encodeData)//解码。
    展开全文
  • URL参数加密解密(java版)

    热门讨论 2008-09-23 18:03:13
    URL参数加密解密(java版)URL参数加密解密(java版)
  • 参数解密 于是我脑海中出现一种思路 参数应该在链接附近于是打开JEB搜索encrypt=1 果然搜索到了 右键q看源码发现代码是经过混淆过 的 不过没关系 这里我看到 v0 = a.f + this.d + "?encrypt=1";这样的代码...
  • Sliverlight 加密解密  public static class Encryption  {  #region silverlight数据加密  /**/  ///  /// 加密数据  ///  /// 加密前的字符串  /// 加密后的字符串
    Sliverlight 加密解密 
    

    public static class Encryption
        {
            #region silverlight数据加密
            /**/
            /// <summary>
            /// 加密数据
            /// </summary>
            /// <param name="input">加密前的字符串</param>
            /// <returns>加密后的字符串</returns>
            public static string Encrypt(string input)
            {
                //定义的字符串
                string saltValue = "saltValue";
                // 密码值
                string pwdValue = "pwdValue";

                byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(input);
                byte[] salt = System.Text.UTF8Encoding.UTF8.GetBytes(saltValue);

                // AesManaged - 高级加密标准(AES) 对称算法的管理类
                System.Security.Cryptography.AesManaged aes = new System.Security.Cryptography.AesManaged();

                // Rfc2898DeriveBytes - 通过使用基于 HMACSHA1 的伪随机数生成器,实现基于密码的密钥派生功能 (PBKDF2 - 一种基于密码的密钥派生函数)
                // 通过 密码 和 salt 派生密钥
                System.Security.Cryptography.Rfc2898DeriveBytes rfc = new System.Security.Cryptography.Rfc2898DeriveBytes(pwdValue, salt);

                /**/
                /*
             * AesManaged.BlockSize - 加密操作的块大小(单位:bit)
             * AesManaged.LegalBlockSizes - 对称算法支持的块大小(单位:bit)
             * AesManaged.KeySize - 对称算法的密钥大小(单位:bit)
             * AesManaged.LegalKeySizes - 对称算法支持的密钥大小(单位:bit)
             * AesManaged.Key - 对称算法的密钥
             * AesManaged.IV - 对称算法的密钥大小
             * Rfc2898DeriveBytes.GetBytes(int 需要生成的伪随机密钥字节数) - 生成密钥
             */
                aes.BlockSize = aes.LegalBlockSizes[0].MaxSize;
                aes.KeySize = aes.LegalKeySizes[0].MaxSize;
                aes.Key = rfc.GetBytes(aes.KeySize / 8);
                aes.IV = rfc.GetBytes(aes.BlockSize / 8);

                // 用当前的 Key 属性和初始化向量 IV 创建对称加密器对象
                System.Security.Cryptography.ICryptoTransform encryptTransform = aes.CreateEncryptor();

                // 加密后的输出流
                System.IO.MemoryStream encryptStream = new System.IO.MemoryStream();

                // 将加密后的目标流(encryptStream)与加密转换(encryptTransform)相连接
                System.Security.Cryptography.CryptoStream encryptor = new System.Security.Cryptography.CryptoStream
                    (encryptStream, encryptTransform, System.Security.Cryptography.CryptoStreamMode.Write);

                // 将一个字节序列写入当前 CryptoStream (完成加密的过程)
                encryptor.Write(data, 0, data.Length);
                encryptor.Close();

                // 将加密后所得到的流转换成字节数组,再用Base64编码将其转换为字符串
                string encryptedString = Convert.ToBase64String(encryptStream.ToArray());

                return encryptedString;
            }
            #endregion

            #region silverlight密码解密
            /**/
            /// <summary>
            /// 解密数据
            /// </summary>
            /// <param name="input">加密后的字符串</param>
            /// <returns>加密前的字符串</returns>
            public static string Decrypt(string input)
            {
                // 盐值(与加密时设置的值一致)
                string saltValue = "saltValue";
                // 密码值(与加密时设置的值一致)
                string pwdValue = "pwdValue";

                byte[] encryptBytes = Convert.FromBase64String(input);
                byte[] salt = System.Text.Encoding.UTF8.GetBytes(saltValue);

                System.Security.Cryptography.AesManaged aes = new System.Security.Cryptography.AesManaged();

                System.Security.Cryptography.Rfc2898DeriveBytes rfc = new System.Security.Cryptography.Rfc2898DeriveBytes(pwdValue, salt);

                aes.BlockSize = aes.LegalBlockSizes[0].MaxSize;
                aes.KeySize = aes.LegalKeySizes[0].MaxSize;
                aes.Key = rfc.GetBytes(aes.KeySize / 8);
                aes.IV = rfc.GetBytes(aes.BlockSize / 8);

                // 用当前的 Key 属性和初始化向量 IV 创建对称解密器对象
                System.Security.Cryptography.ICryptoTransform decryptTransform = aes.CreateDecryptor();

                // 解密后的输出流
                System.IO.MemoryStream decryptStream = new System.IO.MemoryStream();

                // 将解密后的目标流(decryptStream)与解密转换(decryptTransform)相连接
                System.Security.Cryptography.CryptoStream decryptor = new System.Security.Cryptography.CryptoStream(
                    decryptStream, decryptTransform, System.Security.Cryptography.CryptoStreamMode.Write);

                // 将一个字节序列写入当前 CryptoStream (完成解密的过程)
                decryptor.Write(encryptBytes, 0, encryptBytes.Length);
                decryptor.Close();

                // 将解密后所得到的流转换为字符串
                byte[] decryptBytes = decryptStream.ToArray();
                string decryptedString = System.Text.UTF8Encoding.UTF8.GetString(decryptBytes, 0, decryptBytes.Length);

                return decryptedString;
            }
            #endregion

        }

     

     

       (2)

     /// <summary>
        /// 加密解密辅助类
        /// </summary>
        public class EncrptHelp
        {
            /// <summary>
            /// 加密
            /// </summary>
            /// <param name="sText"></param>
            /// <returns></returns>
            public static string SimpleEncrpt(string sText)
            {
                byte[] btBuffer = System.Text.Encoding.UTF8.GetBytes(sText);
                for (int i = 0; i < btBuffer.Length; i++)
                {
                    btBuffer[i] = SwithByte(btBuffer[i]);
                }
                return System.Convert.ToBase64String(btBuffer);
            }

           
            private static byte SwithByte(byte bSouce)
            {
                int bResult = bSouce;
                int bTemp1, bTemp2;
                int nStep = 6;
                byte bMark;
                int nCount = 0;
                int nWhileRange = 2;

                for (int i = 0; i < 2; i++)
                {
                    while (nCount < nWhileRange)
                    {
                        bTemp1 = bResult & m_aryByteTable[nCount];
                        bTemp1 = bTemp1 << nStep;
                        bTemp2 = bResult & m_aryByteTable[nCount + nStep];
                        bTemp2 = bTemp2 >> nStep;
                        if (bTemp1 != 0)
                            bResult = bResult | bTemp1;
                        else
                        {
                            bMark = m_aryByteTableMark[nCount + nStep];
                            bResult = bResult & bMark | bTemp1;
                        }

                        if (bTemp2 != 0)
                            bResult = bResult | bTemp2;
                        else
                        {
                            bMark = m_aryByteTableMark[nCount];
                            bResult = bResult & bMark | bTemp1;
                        }
                        nCount++;
                    }
                    nStep = 2;
                    nWhileRange = 4;
                }
                return (byte)bResult;
            }
            private readonly static byte[] m_aryByteTable = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
            private readonly static byte[] m_aryByteTableMark = { 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F };

            //        URL中的特殊字符
            //有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。

            //1. +  URL 中+号表示空格 %2B
            //2. 空格 URL中的空格可以用+号或者编码 %20
            //3. /  分隔目录和子目录 %2F 
            //4. ?  分隔实际的 URL 和参数 %3F 
            //5. % 指定特殊字符 %25 
            //6. # 表示书签 %23 
            //7. & URL 中指定的参数间的分隔符 %26 
            //8. = URL 中指定参数的值 %3D
            public static string UrlEncode(string sText)
            {
                return sText.Replace("+", "%2B").
                    Replace(" ", "%20").
                    Replace("/", "%2F").
                    Replace("?", "%3F").
                    Replace("%", "%25").
                    Replace("#", "%23").
                    Replace("&", "%26").
                    Replace("=", "%3D");
            }

     

    展开全文
  • 基本思路是:前端对参数进行加密,并经过urlrewriter进行地址改写传入后台,后台再进行解密。如:对这样一个url--‍‍‍‍http://1.1.1.1:8080/a.do?param=1,加密后变为:...
  • asp.net中URL参数加密解密过程 加密代码   public static string Encode(string str, string key)  {  DESCryptoServiceProvider provider = new DESCryptoServiceP...
  • asp.net URL参数加密解密的问题

    千次阅读 2010-10-09 20:48:00
    URL参数加密解密的问题,在加密时没问题,可是解密就有问题了,有些参数解密出来是空(并不是原来的数据)。下面是一个需要加密URL参数的地 址:http://www.website.aspx?username=marry&password=marry<br />  ...
  • 本文给大家分享一段给url参数加密解密的javascript代码,非常的好用,有需要的小伙伴直接拿走吧
  • import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.commons.codec.binary.Base64;...public class Base64Helper { ... URL参数Base64解密解密
  • 手册里的加密解密算法, 测试可以支持中文。function encrypt($str, $key){# Add PKCS7 padding.$block = mcrypt_get_block_size('des', 'ecb');if (($pad = $block - (strlen($str) % $block)) < $block) {$str ...
  • import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;public class Arithmetic {static Key key;/*** 根据参数生成KEY** @param strKey...
  • } /** * 系统解密方法 * @param string $data 要解密的字符串 (必须是think_encrypt方法加密的字符串) * @param string $key 加密密钥 * return string * */ function think_decrypt($data, $key = ''){ $key = md5...
  • URL和Pwd参数解密

    2011-02-18 12:50:59
    C#实现URL和Pwd参数的加解密,这里主要是共同方法。
  • WEB系统中加密解密URL传输参数URL加密、URL解密(转载)  怎么实现Web系统URL传输(表单提交)参数加密。例如:要进行一个用户帐号编辑,要传递用户的ID,URL如下:[url]...
  • 1、我从这个页面 ,通过以下URL跳转到另一个页面,把参数加密,下面对参数 aid=970 进行加密var aid=970;window.location.href="/apply/add_shopCart?"+window.btoa(window.encodeURIComponent("aid="+aid))//加密不...
  • 解密PHP AES加密URL参数

    2017-03-01 16:12:56
    $url = $url . "?crypto=" . $crypto; // open connection $ch = curl_init(); // set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($...
  • 问题,就是URL编码问题,如果不对URL进行编码直接加码,那么在解码时,如果字符串存在“+”这种特殊符号,在解码时会出它替换成“ ”,此时在解密就会无法解开,导致错误的结果。 本人解决方法: 先对字符先加密,...
  • URL解密

    千次阅读 2016-07-01 09:27:45
    iOS 下URL解密,项目使用AFNetworking 虽然是使用HTTPS,但是从安全方面考虑,在很多情况下还是需要对url参数进行加密的。接口如 https://192.160.0.123:92/frame/webInteface.do?(method=addNew&uid=123&pass=...
  • js 对 URL 参数进行 加密 解密

    千次阅读 2017-05-04 10:41:00
    1、我从这个页面 ,通过以下URL跳转到另一个页面,把参数加密,下面对参数 aid=970 进行加密 var aid=970; window.location.href="/apply/add_shopCart?"+window.btoa(window.encodeURIComponent("aid="+aid))...
  • 最近我遇到一个关于asp.net URL参数加密解密的问题,在加密时没问题,可是解密就有问题了,有些参数解密出来是空(并不是原来的数据)。下面是一个需要加密URL参数的地址:...
  • 针对url参数的加密解密算法(java版)

    万次阅读 热门讨论 2018-08-25 17:04:54
    针对此种情况,自己写了一个对请求参数的加密解密算法,而地址的改写则用了urlrewriter插件(后端采用常见的ssm架构)。希望大家多多提出意见。  基本思路是:后台对一些比较敏感的参数进行数据加密,然后在传送到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 611
精华内容 244
关键字:

url参数解密