当前位置: 首页 > news >正文

企业级网站开发与部署wordpress插件汉化教程

企业级网站开发与部署,wordpress插件汉化教程,网站开发国内外研究状况,哪几个网站适合自己做外贸本人整理网上的。好多网上的调不通。在这里把调试好的贴出来。 1. 异步获取公钥#xff08;后台获取#xff09;#xff1b;你也可以将公钥串写在页面上#xff1b; var publicKey null; $.ajax({ url: ctx/userLogin.do?methodgetRSAPublicKey, #xf…本人整理网上的。好多网上的调不通。在这里把调试好的贴出来。 1.   异步获取公钥后台获取你也可以将公钥串写在页面上 var publicKey null; $.ajax({ url: ctx/userLogin.do?methodgetRSAPublicKey, 请求地址 type: post, dataType: text, async:false, success: function(data) { if(data) publicKey data; } }); 2. 前段加密 引入这个  jsencrypt.min.js   var encrypt new JSEncrypt(); encrypt.setPublicKey(publicKey); // 设置公钥 var password11 encrypt.encrypt(password);// 加密 password 是你页面获取的值   password11 是加密后的值  生成随机串 3. RSA 工具类  我这里引入了 commons-codec 的依赖 1.4版本的 import java.io.ByteArrayOutputStream;import java.io.UnsupportedEncodingException;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.Provider;import java.security.PublicKey;import java.security.SecureRandom;import java.security.Security;import java.security.interfaces.RSAPrivateKey;import java.security.interfaces.RSAPublicKey;import java.security.spec.InvalidKeySpecException;import java.security.spec.PKCS8EncodedKeySpec; import javax.crypto.Cipher; import org.apache.commons.codec.binary.Base64;import org.apache.commons.io.IOUtils; public class RSAUtils1 { public static final String CHARSET UTF-8; public static final String RSA_ALGORITHM RSA; private static final KeyPair keyPair initKey(); /** * 初始化方法产生key pair提供provider和random * return KeyPair instance */ private static KeyPair initKey() { try { //添加provider Provider provider new org.bouncycastle.jce.provider.BouncyCastleProvider(); Security.addProvider(provider); //产生用于安全加密的随机数 SecureRandom random new SecureRandom(); KeyPairGenerator generator KeyPairGenerator.getInstance(RSA, provider); generator.initialize(1024, random); return generator.generateKeyPair(); } catch(Exception e) { throw new RuntimeException(e); } } /** * 产生public key * return public key字符串 */ public static String generateBase64PublicKey() { PublicKey publicKey (RSAPublicKey)keyPair.getPublic(); //encodeBase64(): Encodes binary data using the base64 //algorithm but does not chunk the output. //getEncoded():返回key的原始编码形式 return new String(Base64.encodeBase64(publicKey.getEncoded())); } /** * 产生private key * * return private key字符串 */ public static String generateBase64PrivateKey(){ PrivateKey privateKey keyPair.getPrivate(); return new String(Base64.encodeBase64(privateKey.getEncoded())); } /** * 私钥解密 * param data * param privateKey * return */ public static String privateDecrypt(String data){ try{ RSAPrivateKey privateKey getPrivateKey(generateBase64PrivateKey()); Cipher cipher Cipher.getInstance(RSA_ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, privateKey); return new String(rsaSplitCodec(cipher, Cipher.DECRYPT_MODE, Base64.decodeBase64(data), privateKey.getModulus().bitLength()), CHARSET); }catch(Exception e){ throw new RuntimeException(解密字符串[ data ]时遇到异常, e); } } /** * 得到私钥 * param privateKey 密钥字符串经过base64编码 * throws Exception */ public static RSAPrivateKey getPrivateKey(String privateKey) throws NoSuchAlgorithmException, InvalidKeySpecException { //通过PKCS#8编码的Key指令获得私钥对象 KeyFactory keyFactory KeyFactory.getInstance(RSA_ALGORITHM); PKCS8EncodedKeySpec pkcs8KeySpec new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKey)); RSAPrivateKey key (RSAPrivateKey) keyFactory.generatePrivate(pkcs8KeySpec); return key; } private static byte[] rsaSplitCodec(Cipher cipher, int opmode, byte[] datas, int keySize){ int maxBlock 0; if(opmode Cipher.DECRYPT_MODE){ maxBlock keySize / 8; }else{ maxBlock keySize / 8 - 11; } ByteArrayOutputStream out new ByteArrayOutputStream(); int offSet 0; byte[] buff; int i 0; try{ while(datas.length offSet){ if(datas.length-offSet maxBlock){ buff cipher.doFinal(datas, offSet, maxBlock); }else{ buff cipher.doFinal(datas, offSet, datas.length-offSet); } out.write(buff, 0, buff.length); i; offSet i * maxBlock; } }catch(Exception e){ throw new RuntimeException(加解密阀值为[maxBlock]的数据时发生异常, e); } byte[] resultDatas out.toByteArray(); IOUtils.closeQuietly(out); return resultDatas; } public static void main(String[] args) { // 获得公钥 私钥对 System.out.println(公钥generateBase64PublicKey()); System.out.println(秘钥generateBase64PrivateKey()); }} 4. 给前台返回公钥 RequestMapping(params methodgetRSAPublicKey) public void getRSAPublicKey(HttpServletRequest request,HttpServletResponse response){ PrintWriter writer; try { writer response.getWriter(); String publicKey RSAUtils1.generateBase64PublicKey(); writer.write(publicKey); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 5.解密 //先对前端密码进行RSA解密 password password.replace( ,);  加密的数据放在Url传递时会将“”变成空格这里变回来。 System.out.println(解密前password); password RSAUtils1.privateDecrypt(password); System.out.println(解密后密码password);   结束。谢谢交流评论。  转载于:https://www.cnblogs.com/m5n7xiao/p/9225065.html
http://www.huolong8.cn/news/441942/

相关文章:

  • 公众号链接网站都是怎么做的赚钱做网站
  • 做很多网站安徽省新天源建设公司网站
  • 宝塔面板做织梦网站wordpress仿qq空间主题
  • 新的网站建设技术方案深圳龙华区高峰社区
  • wordpress汉化服务360手机优化大师下载
  • pc网站做app京东求个免费网站好人有好报
  • 深圳网站设计网站百度小程序优化合作公司
  • 免费自己制作网站教程杭州房产网 官方
  • 重庆网站设计找重庆最佳科技erp实施顾问
  • 广西柳州网站建设价格网站收录很慢
  • 湖南省建设厅官方网站网站建设kaodezhu
  • dede发布网站系统官网网站模板下载安装
  • 有哪些网站程序建设手机银行app下载安装最新版
  • 广东同江医院网站建设吉林省建设信息网官网入吉
  • 做网站前的准备工作网盘做网站空间
  • 网站建设外包还是自己做网站备案号注销的结果
  • 深圳网站设计+建设首选深圳市销售公司做网站
  • opencart 构建电子商务网站北京网站建设北京
  • 做网站专题页需要注意什么制作企业网站页面html
  • 网站开发技术的发展流程网站开发如何赚钱
  • cn体育门户网站源码(asp同字形结构布局网站
  • 南阳建设工程信息网站常德百度seo
  • 网站管理助手+建设中郴州网络推广外包公司
  • 网站建设大概价格logo免费设计在线生成标智客
  • 网站程序安全管理百度关键词推广多少钱
  • 乡镇社区教育中心网站建设无锡网络优化推广公司
  • 网网站开发设计做书的网站
  • 网站查询信息开工作室做网站怎样找资源
  • 网站改名工信部需要怎么做三里河网站建设
  • 芜湖的网站建设公司1920网页设计尺寸规范