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

《网站平台建设》课程实训wordpress无法连接数据库连接

《网站平台建设》课程实训,wordpress无法连接数据库连接,东莞企业网站多少钱,广告赚钱主要差异如下#xff1a;1、 对于待加密解密的数据#xff0c;各自的填充模式不一样C#的模式有#xff1a;ANSIX923、ISO10126、None、PKCS7、Zero#xff0c;而Java有#xff1a;NoPadding、PKCS5Padding、SSL3Padding2、 各自默认的3DES实现#xff0c;模式和填充方式…主要差异如下1、  对于待加密解密的数据各自的填充模式不一样C#的模式有ANSIX923、ISO10126、None、PKCS7、Zero而Java有NoPadding、PKCS5Padding、SSL3Padding2、  各自默认的3DES实现模式和填充方式不一样C#的默认模式为CBC,默认填充方式为PKCS7; java的默认模式为ECB默认填充方式为PKCS5Padding3、  各自的key的size不一样C#中key的size为16和24均可java中要求key的size必须为24对于CBC模式下的向量iv的size两者均要求必须为8翻看了3DES的原理DES主要采用替换和移位的方法,用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位转换成安全不同的64的输出数据.3DES:是在DES的基础上采用三重DES,即用两个56位的密钥K1,K2,发送方用K1加密,K2解密,再使用K1加密.接收方使用K1解密,K2加密,再使用K1解密,其效果相当于密钥长度加倍.于是尝试在java中对key进行补位即用前8个字节作为byte[24] 中的byte[16]~byte[23];发现与c#中加密的结果相同于是大胆假设C#中可能是检查key的size为16的时候自动将前8个字节作为k3进行了补位而java没有实现这一点(因为java的3DES算法中强制要求key的size必须为24)。这样的情况下可能就是发送方用k1加密、k2解密、k3再加密接受方k3解密、k2加密、再k1解密来实现。最终经过编码验证确认key大小为24时java和c#的加密解密结果相一致。Java中实现时只要注意对大小不足24的key进行补位和采用CBC模式填充模式为PKCS5Padding即可。C#中的实现public void test(){SymmetricAlgorithm des new TripleDESCryptoServiceProvider();des.Key Encoding.UTF8.GetBytes(wserrtyuiop12fer);des.IV Encoding.UTF8.GetBytes(12345678);string str test;byte[] byt Encoding.UTF8.GetBytes(str);MemoryStream ms new MemoryStream();ICryptoTransform ct mCSP.CreateEncryptor(des.Key, des.IV);CryptoStream  cs new CryptoStream(ms, ct, CryptoStreamMode.Write);cs.Write(byt, 0, byt.Length);cs.FlushFinalBlock();cs.Close();string enctext64Convert.ToBase64String(ms.ToArray());Console.Out.WriteLine(enctext64: {0}, enctext64);}Java中的实现public static void main(String[] args) {try {byte[] key wserrtyuiop12fercsffswqh.getBytes();byte[] iv 12345678.getBytes();String s test;s9EC610E687CA2642147F3BB1779E1C56:820124;BASE64Decoder base64decoder new BASE64Decoder();BASE64Encoder base64encoder new BASE64Encoder();iv base64decoder.decodeBuffer(H06BDKgg/kI);byte[] bt base64decoder.decodeBuffer(nsYQ5ofKJkIUfzuxd54cVg);System.out.println(original key size: bt.length);byte[] kbt new byte[bt.length 8];System.arraycopy(bt, 0, kbt, 0, bt.length);System.arraycopy(bt, 0, kbt, 16, 8);System.out.println(key base64: base64encoder.encode(kbt));keykbt;System.out.println(key size: key.length);String result encryptWithIV(key, iv, s);System.out.println(encrypt result: result);} catch (Exception e) {e.printStackTrace();}}public static String encryptWithIV(byte[] key, byte[] iv, String str) throws Exception {SecureRandom sr new SecureRandom();DESedeKeySpec dks new DESedeKeySpec(key);SecretKeyFactory keyFactory SecretKeyFactory.getInstance(DESede);SecretKey securekey keyFactory.generateSecret(dks);IvParameterSpec ips new IvParameterSpec(iv);Cipher cipher Cipher.getInstance(DESede/CBC/PKCS5Padding);cipher.init(Cipher.ENCRYPT_MODE, securekey, ips, sr);byte[] bt cipher.doFinal(str.getBytes(utf-8));System.out.println(encrypt base64: new BASE64Encoder().encode(bt));return new String(Hex.encodeHex(bt));}还有一种让Java和.Net兼容的方式,在.Net中指定模式为ECB填充为PKCS7,然后在Java中采用其默认的模式(DESede/ECB/PKCS5Padding)即可,注意双方约定key的size为24个字节。建议双方对key以base64编码字符串进行告知因为java和.net中byte字节的范围不相同(前者-128~127,后者0~255)避免不必要的处理。
http://wiki.neutronadmin.com/news/315844/

相关文章:

  • 网页版微信二维码登录方法做优化的网站
  • 购买网站模板盘锦兴隆台住房和城乡建设网站
  • 多平台网站设计实例电子商务网站建设功能
  • 网站建设朋友圈广告桥头镇网站仿做
  • 学网站开发的能找什么工作WordPress如何恢复最初
  • 站长之家网站建设酒店找人做网站
  • 用wordpress做淘宝客应用商店关键词优化
  • 天津微网站建设seo软件哪个好
  • 成都网站建设网络公司php网站后台密码忘记了怎么办
  • 就业创业网站建设潮州 做网站 有钱
  • 网站建设服务网络服务wordpress百度网盘插件
  • element-ui网站开发广告推广方式
  • 安徽住房和建设厅网站搜狗网
  • 网站做装修x3型虚拟主机 wordpress
  • 江津网站建设口碑欧美平面设计网站
  • 网站建设7个基网站做全景图
  • 齐齐哈尔市网站建设宣传片拍摄流程文案
  • 学校 html5 网站 案例网络营销策略的特点
  • 云南建设工程信息网站江苏省交通建设局网站
  • 四川网站建设 lkcmswordpress能建商城吗
  • 网站备案要如何取消潜江网站设计公司
  • 怎样给企业做网站北京微网站建设设计服务
  • 做网站选择什么服务器企业网站建设招标技术标准
  • 电子商务的网站建设设计书深圳龙岗企业网站建设
  • 东莞公司想建网站软件开发工具框图
  • 建设网站的公司的官网wordpress king模板
  • 公司做网站的步骤五指山住房建设局网站
  • 高端网站建设公司费用wordpress红色主题公园
  • iis6 静态网站进入公众号会有记录吗
  • 阿凡达网站设计洛阳恢复客运最新通知