精华内容
下载资源
问答
  • 中文加密
    2021-02-27 16:37:36

    代码来自以下链接

    http://www.oschina.net/code/piece_full?code=18383#30455

    首先声明的是,代码不是本人写的,感谢一下作者,只不过本人在做一个android客户端,与服务器servlet接口通信的项目时,对协议作了des+base64加密处理,使用了该类,

    期间遇到了一个比较纠结的问题,就是如果汉字存在于协议中,服务器加密,客户端解密会出现乱码,客户端加密,服务器解密亦然。

    以上问题的解决其实很简单,只不过找问题原因的过程有点浪费时间,所以记录在此,以告知其他有缘也用到该类的朋友,能够节省一点宝贵的时间。

    修改代码如下:

    /**

    * Description 根据键值进行加密

    *

    * @param data

    * @param key

    * 加密键byte数组

    * @return

    * @throws Exception

    */

    public static String encrypt(String data, String key) throws Exception {

    byte[] bt = encrypt(data.getBytes("UTF-8"), key.getBytes());

    String strs = new BASE64Encoder().encode(bt);

    return strs;

    }

    /**

    * Description 根据键值进行解密

    *

    * @param data

    * @param key

    * 加密键byte数组

    * @return

    * @throws IOException

    * @throws Exception

    */

    public static String decrypt(String data, String key) throws IOException,

    Exception {

    if (data == null)

    return null;

    BASE64Decoder decoder = new BASE64Decoder();

    byte[] buf = decoder.decodeBuffer(data);

    byte[] bt = decrypt(buf,key.getBytes());

    return new String(bt, "UTF-8");

    }

    请留意,修改的两处为"UTF-8"的位置。

    希望大伙没有遇到这个问题。

    更多相关内容
  • 完美支持中文的jqueryBase64加密解密,加密:$.base64.encode("要加密的文字"); $.base64.decode("要解密的密文");
  • url的中文加密解密

    2022-05-16 12:43:02
    public class tessssst { public static void main(String[] args) throws UnsupportedEncodingException { String a = ...
    
    
    
    
    public class tessssst {
    
        public static void main(String[] args) throws UnsupportedEncodingException {
            String a = "https://%E8%A1%A8%E6%96%B0%E5%BB%BA%E5%B7%A5%E4%BD%9C%E8%A1%A8%E6%96%B0%E5%BB%BA%E5%B7%A5%E4%BD%9C%E8%A1%A8%E6%96%B0%E5%BB%BA%E5%B7%A5%E4%BD%9C%E8%A1%A8.xls";
    
    
            String name= URLEncoder.encode(a, "utf-8");
    
    
            String name2= URLDecoder.decode(a, "UTF-8");
            System.out.println(name);
    
            System.out.println(name2);
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    展开全文
  • //加密 将上传文件名加密 String content = "爱我zhonghua.txt"; System.out.println("原文"+content); String password = "abc123"; String code = AES.encrypt(content, password); System.out.println(...
    package com.ailikes.core.util;
    
    
    import org.apache.commons.codec.binary.Base64;
    
    import java.security.NoSuchAlgorithmException;
    import java.security.SecureRandom;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.crypto.Cipher;
    import javax.crypto.KeyGenerator;
    import javax.crypto.SecretKey;
    import javax.crypto.spec.SecretKeySpec;
    
    
    public class AES {
    
        private static final String KEY_ALGORITHM = "AES";
        private static final String DEFAULT_CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";
    
        /**
         * AES 加密操作
         *
         * @param content 待加密内容
         * @param password 加密密码
         * @return 返回Base64转码后的加密数据
         */
        public static String encrypt(String content, String password) {
            try {
                Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM);// 创建密码器
                byte[] byteContent = content.getBytes("utf-8");
                cipher.init(Cipher.ENCRYPT_MODE, getSecretKey(password));// 初始化为加密模式的密码器
                byte[] result = cipher.doFinal(byteContent);// 加密
                return Base64.encodeBase64String(result);//通过Base64转码返回
            } catch (Exception ex) {
                Logger.getLogger(AES.class.getName()).log(Level.SEVERE, null, ex);
            }
            return null;
        }
    
        /**
         * AES 解密操作
         *
         * @param content
         * @param password
         * @return
         */
        public static String decrypt(String content, String password) {
            try {
                //实例化
                Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM);
                //使用密钥初始化,设置为解密模式
                cipher.init(Cipher.DECRYPT_MODE, getSecretKey(password));
                //执行操作
                byte[] result = cipher.doFinal(Base64.decodeBase64(content));
                return new String(result, "utf-8");
            } catch (Exception ex) {
                Logger.getLogger(AES.class.getName()).log(Level.SEVERE, null, ex);
            }
            return null;
        }
    
        /**
         * 生成加密密钥
         * @return
         */
        private static SecretKeySpec getSecretKey(final String password) {
            //返回生成指定算法密钥生成器的 KeyGenerator 对象
            KeyGenerator kg = null;
            try {
                kg = KeyGenerator.getInstance(KEY_ALGORITHM);
                SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
                random.setSeed(password.getBytes());
                kg.init(128, random);//AES 要求密钥长度为 128
                //生成一个密钥
                SecretKey secretKey = kg.generateKey();
                return new SecretKeySpec(secretKey.getEncoded(), KEY_ALGORITHM);// 转换为AES专用密钥
            } catch (NoSuchAlgorithmException ex) {
                Logger.getLogger(AES.class.getName()).log(Level.SEVERE, null, ex);
            }
            return null;
        }
    
        public static void main(String[] args) {
            //加密 将上传文件名加密
            String content = "爱我zhonghua.txt";
            System.out.println("原文"+content);
            String password = "abc123";
            String code = AES.encrypt(content, password);
            System.out.println("加密后"+code);
    
            String decryptResult = AES.decrypt(code, password);
            System.out.println("解密后"+decryptResult);
        }
    }
    

    结果为:

    原文爱我zhonghua.txt
    加密后e3iz0kW87RlJeGTAHrQlL7poI3K9G0Bge+yNb9zSCX0=
    解密后爱我zhonghua.txt

    展开全文
  • # 汉字加密 基本汉字范围0x4E00--0x9FA5 共20902个字 ptxt = input("请输入明文文本:") for p in ptxt: if 'a' <= p <= 'z': print(chr(ord('a') + (ord('p') - ord('a') + 3) % 26), end='') elif 'A' &...
    # 汉字加密 基本汉字范围0x4E00--0x9FA5 共20902个字
    ptxt = input("请输入明文文本:")
    for p in ptxt:
        if 'a' <= p <= 'z':
            print(chr(ord('a') + (ord('p') - ord('a') + 3) % 26), end='')
        elif 'A' <= p <= 'Z':
            print(chr(ord('A') + (ord('p') - ord('A') + 3) % 26), end='')
        elif 0x4E00 <= ord(p) <= 0x9FA5:
            print(chr(ord(p) + 3), end='')
        else:
            print(p, end='')
    
    

    在这里插入图片描述

    展开全文
  • 原生js(含中文加密).zip,原生js(含中文加密),sha256.js,md5.js,调用方法.txt,base64.js
  • VB的MD5中文加密

    2018-11-29 09:55:13
    VB的MD5中文加密,是一个不错的加密方式,但是仅适用于自己内容加密判断使用,因为和JAVA等对汉字的编码格式不统一,所以汉字加密直接不能使用VB的MD5,但是内部包含了JS的Md5,如果必须使用和其它语言一致的MD5使,...
  • 一般的加密方法,解密比较复杂,所有大家看可以尝试用下面的代码。
  • js 中文加密解密

    千次阅读 2018-07-16 23:08:38
    encodeURI() 加密 进行两次加密 decodeURI() 解密 进行两次解密
  • 实际项目提取,开箱即用,完美支持中文
  • 使用C#实现RSA加密算法(支持中文加密) 1. 简介 信息安全技术选修课上要求自己造轮子实现现代非对称加密算法RSA,自己写了以下试试,感觉还行,分享给有需要的大家。 素数,公钥与私钥都是随机生成的,用base64编码...
  • 类似于BASE64_ENCODE / BASE64_DECODE,但是需要加密后的字符串更简短,最好可以三个字符代表一个中文。public $STRING_TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";字符串顺序可以...
  • //加密字符串,可以先将中文加密,然后再用btoa加密 var encStr = encodeURIComponent(username); encStr = btoa(encStr) package com.thinkgem.jeesite.modules.sys.security; import java.io....
  • RSA中文加密乱码问题

    千次阅读 2020-09-14 14:56:44
    记录一次,代码中使用rsa加密,本次以及测试环境中文加密正常,不会出现乱码,但是生产环境会出现中文乱码。 排查一段时间,定位到问题; 针对中文获取字节流时,指定utf-8编码--代码如下 int inputLen = data....
  • Java实现浏览器链接地址的中文加密和解密 一:在好些的网站上进行相关的中文搜索的时候,发现点击搜索后留意了链接中的中文的变化,全部变成了加密后的字符串了.那么问题来了,java怎么实现这样的漂亮的加密的字符串了...
  • js中文加密js中文加密js中文加密js中文加密js中文加密js中文加密
  • #加密方式,将字变成Unicode 数值,然后加上一个随机数,然后再变成汉字,再在汉字后面加上这个数字,组成加密后的密文 #返回值:加密后的密文 # def enc(s): ret = '' for word in s: num =
  • 本人新手一枚,闲得无聊写的聊天加密程序,解密程序稍后发。 /* 版权声明: 本程序为夏岩泽的原创程序, 遵循CC 4.0 BY-SA版权协议, 转载请附上原文出处及本声明。 使用说明: 此为简易字符串加密程序,...
  • js网页界面实现DES算法。有界面,支持中文加密和解密。
  • Java中文加密解密

    千次阅读 2017-12-08 17:00:02
    import java.io.UnsupportedEncodingException; import java.math.BigInteger; public class ChineseTrans { public static void main(String[] args) throws UnsupportedEncodingException { ...
  • php代码类: 复制代码 代码如下: <?php /** * Copyright (c) 2011 – 01 XatuDream * XatuDream All ... defined ( ‘WORKSPACE’ ) && exit ( “Access Denied !” ); class MD5Crypt { /** * Enter description
  • 支持中英文的混合加密,通过base64加密一层后自定义一层加密方法,通过钥匙掌控自己的解密方法,安全可靠,详情请参考博客:https://blog.csdn.net/CLinuxF/article/details/81975923
  • PHP与js同时加密解密

    2018-08-19 20:54:40
    PHP与js同时加密解密 PHP与JS同时加密
  • 中文加密

    千次阅读 2012-07-08 07:02:35
    在信息领域,数据的安全性越来越重要,因为信息泄露而导致的商业损失也越来越引起了人们的关注,从而,信息加密解密的手段也层出不穷。然而,最有效的手段莫过于一门自然语言。即便对于SHA、MD5、DES、RSA等所有加密...
  • md5 中文加密 前后端不一致问题解决

    千次阅读 2021-06-29 17:37:34
    将传入的密文参数进行比对,结果比较坑的事情来了,前端加密的字符串和后端明文加密后的字符串经过比对,发现不一致,经过仔细推敲,发现可能是中文编码的问题造成,在对前端要加密字符串进行编码,和后端的明文字符...
  • delphi汉字加密

    2013-05-16 00:40:02
    汉字加密,对汉字加密,病转换为另外一个汉字,从而实现加密后文本可读。
  • 使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,969
精华内容 52,387
关键字:

中文加密