这次在JAVA项目中遇到了要使用PHP的openssl_encrypt这个方法来进行加密以下是内容分享:

在PHP中加密内容是:

// openssl_encrypt($data, $method, $password, $options, $iv)

openssl_encrypt("6241378900148701870", 'des-ede3-cbc', 'f9b08f4246f4981a7964eb74', false, '01234567');

在JAVA中加密则写为这个静态方法进行调用

public static final String deskey = "f9b08f4246f4981a7964eb74";
 public static String java_openssl_encrypt(String data) throws Exception {
String iv = "01234567";
byte[] key = deskey.getBytes(); Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");
IvParameterSpec aaa = new IvParameterSpec(iv.getBytes());
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "DESede"), aaa);
return java.util.Base64.getEncoder().encodeToString(cipher.doFinal(data.getBytes()));
}

  

java_openssl_encrypt("6241378900148701870");

  

在js中需要引入

<script src="./crypto-js/crypto-js.js"></script>

  加密代码如下

var key = CryptoJS.enc.Utf8.parse("f9b08f4246f4981a7964eb74");// 秘钥
var iv= CryptoJS.enc.Utf8.parse("01234567");//向量iv // 加密
$("#legelcertno").change(function(){
var v = $("#legelcertno").val();
// console.log(v)
var encode_str = CryptoJS.TripleDES.encrypt(v,key,{ iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).toString();
$("#legelcertno").val(encode_str);
// console.log($("#legelcertno").val());
})

 

以上3中语言加密获取到一样的值

这是这次工作时遇到的问题用PHP的openssl_encrypt方法在JAVA,JS中应用

本篇到此结束

如果有不足和错误的地方还请各位大佬指点

谢谢!!!

2019-02-28  14:36:58

PHP的openssl_encrypt方法的JAVA和JS的实现的更多相关文章

  1. PHP的openssl_encrypt方法的Java实现

    <?php class OpenSSL3DES { /*密钥,22个字符*/ const KEY='09bd821d3e764f44899a9dc6'; /*向量,8个或10个字符*/ cons ...

  2. atitit.判断时间重叠方法总结 java c++ c#.net js php

    atitit.判断时间重叠方法总结 java c++ c#.net  js php 1. 判断时间重叠具体流程思路 1 2. 重叠算法 实际上就是日期集合跟个时间集合的的交集(乘法算法) 1 3. 代 ...

  3. 两个变量交换的四种方法(Java) 七种方法(JS)

    两个变量交换的四种方法(Java)   对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 ...

  4. Android WebView加载本地html并实现Java与JS交互

    最近做的一个项目中,用到自定义地图,将自定义地图转换成html页面,现在需要做的是如何将本地的html加载到android中,并可以实现交互. 相关讲解: 其实webview加载资源的速度并不慢,但是 ...

  5. Android与H5交互(java与js的交互)

    一.理论概述 1.js调用java方法 直接调用WebView的该方法就可以添加接口了,不过先要启动交互 // 启用javascript mWebView.getSettings().setJavaS ...

  6. android混合开发,webview的java与js互操作

    android原生应用,用webview加载应用中的网页,并且java代码与js代码可以互相操作. 这是混合开发的基石,最基本也最重要的东西,实验代码在这里. 概括说说—— java调js:调用web ...

  7. java、js的编码、解码

    如果在地址栏挂载参数,特别是包含中文,往往要进行编码,取值时再解码,以下是java和js中编码.解码的各自方法. java: @Test public void test3() throws Unsu ...

  8. android webview js交互 第一节 (java和js交互)

    转载请注明出处         挺帅的移动开发专栏  http://blog.csdn.net/wangtingshuai/article/details/8631835        在androi ...

  9. gwt中java与js的相互调用

    1. java通过jsni调用内部js Button button = new Button("java调用内部jsni的js方法"); button.addClickHandle ...

随机推荐

  1. jquery基于form-data文件上传

    1.html代码 <input type="file" name="myupdate" id="myupdate"> 2.jav ...

  2. IIS伪静态配置,使用URLRewriter实现伪静态

    前段时间开发公司官网,用到了URLRewriter实现伪静态,在VS调试模式下没有任何问题,部署到IIS上后总是提示404的错误,查了很久才知道IIS需要做相应的配置才能实现动态跳转的功能,现将IIS ...

  3. .Net下EF的简单实现

    1.连接SQLServer,创建数据库TestDB; 2.添加EF引用,点击工具-NuGet包管理器-管理解决方案的NuGet程序包, 搜索EntityFramework包,点击安装: 3.在Web. ...

  4. Android开发教程 - 使用Data Binding(六)RecyclerView Adapter中的使用

    本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...

  5. VBA操作word生成sql语句

    项目开始一般都是用word保存下数据库的文档 但是从表单一个一个的建表实在是很困难乏味,查查资料 1.可以生成一个html或者xml,检索结构生成sql.但是这个方式也蛮麻烦 2.查到vba可以操作w ...

  6. Shell - 简明Shell入门05 - 条件语句(Case)

    示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var case $var in right) echo "Right!";; wrong) ...

  7. Shell - 简明Shell入门04 - 判断语句(If)

    示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var if test $var # test - check file types and compare va ...

  8. SQL面试题之行转列

    典型的课程表: mysql> select * from course; +----+------------+----------+------------+ | id | teacher_i ...

  9. [Leetcode]495.提莫攻击

    题目: 在<英雄联盟>的世界中,有一个叫 "提莫" 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态.现在,给出提莫对艾希的攻击时间序列和提莫攻击的中 ...

  10. WebDriver高级应用实例(10)

    10.1控制HTML5语言实现的视频播放器 目的:能够获取html5语言实现的视频播放器视频文件的地址.时长.控制进行播放暂停 被测网页的网址: http://www.w3school.com.cn/ ...