google后找到这个作者的一篇博客,搬过来用

http://hersface.com/page/17.html

<?php
class DESede{
/**
* 加密
* @param $data 待加密明文
* @param $key DES私钥
* @param $use3des 是否启用3DES加密,默认不启用
*/
function encrypt($data='', $key='', $use3des = False)
{
if (empty($data) || empty($key))
{
return False;
}
$cipher = $use3des ? MCRYPT_TRIPLEDES : MCRYPT_DES;
$modes = MCRYPT_MODE_ECB;
# Add PKCS7 padding.
$block = mcrypt_get_block_size($cipher, $modes);
$pad = $block - (strlen($data) % $block);
$data .= str_repeat(chr($pad), $pad);
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, $modes), MCRYPT_RAND);
$encrypted = @mcrypt_encrypt($cipher, $key, $data, $modes, $iv);
return $encrypted;
}
/**
* 解密
* @param $data 待解密密文
* @param $key DES私钥
* @param $use3des 是否启用3DES加密,默认不启用
*/
function decrypt($data='', $key='', $use3des = False)
{
if (empty($data) || empty($key))
{
return False;
}
$cipher = $use3des ? MCRYPT_TRIPLEDES : MCRYPT_DES;
$modes = MCRYPT_MODE_ECB;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, $modes), MCRYPT_RAND);
$data = @mcrypt_decrypt($cipher, $key, $data, $modes, $iv);
# Strip padding out.
$block = mcrypt_get_block_size($cipher, $modes);
$pad = ord($data[($len = strlen($data)) - 1]);
$decrypted = substr($data, 0, strlen($data) - $pad);
return $decrypted;
}
}
$des=new DESede(); $rs=$des->encrypt('中国人','1',true);
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf8">';
echo base64_encode($rs);

最近项目和java对接,涉及到java的DESede加解密算法的更多相关文章

  1. java实现根据特定密钥对字符串进行加解密功能

    在项目中我们经常遇到这样的场景,我们避免重要资源泄露需要将一些信息按照特定的方式(密钥)进行加密保存,然后在使用的时候再按照特定的方式(密钥)进行解密读取,以保证信息的相对安全.那么如何对信息进行加解 ...

  2. Java实验五报告——TCP传输及加解密

    一.实验内容 1.运行教材上TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成代码,一人加密后通过TCP发送: 注:加密使用AES或者D ...

  3. Java、C#双语版配套AES加解密示例

      这年头找个正经能用的东西那是真难,网上一搜索一大堆,正经能用的没几个,得,最后还是得靠自己,正巧遇上需要AES加解密的地方了,而且还是Java和C#间的相互加解密操作,这里做个备忘 这里采用的加解 ...

  4. Java使用数字证书加密通信(加解密/加签验签)

    本文中使用的Base64Utils.java可参考:http://www.cnblogs.com/shindo/p/6346618.html 证书制作方法可参考:http://www.cnblogs. ...

  5. 转载:Java、C#双语版配套AES加解密示例

    转载,原文出处 http://www.cnblogs.com/lzrabbit/p/3639503.html 这年头找个正经能用的东西那是真难,网上一搜索一大堆,正经能用的没几个,得,最后还是得靠自己 ...

  6. Java 加解密算法

    目前加密算法中分两种 一种是对称加密,一种是非对称加密 那么什么是对称加密呢?对称加密可以理解为加密和解密用的是一个钥匙. 而非对称加密,加锁用的是一个钥匙,而解锁用的是另外一个钥匙. 目前市面上用的 ...

  7. java 根据秘钥,对数据进行加解密

    package test; import com.alibaba.fastjson.JSONObject; import sun.misc.BASE64Decoder; import sun.misc ...

  8. java加解密算法

    什么是加密算法?百度百科给出的解释如下: 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容, ...

  9. java加解密算法--DES

    ECB import sun.misc.BASE64Decoder; import javax.crypto.*; import javax.crypto.spec.DESKeySpec; impor ...

随机推荐

  1. Ubuntu下配置舒服的Python开发环境

    Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...

  2. Inventory Update

    依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更新最新的数量. 返回当前的库存数组,且按货物名称的 ...

  3. linux下网卡配置vlan

      yum install vconfig -y  modprobe 8021qvconfig add eth0 900 ifconfig eth0.900 172.16.90.57/24 up    ...

  4. operator[],识别读操作和写操作

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. 【WebGL】2.基础概念

    引入Three.js <!DOCTYPE html> <html> <head> <title></title> </head> ...

  6. ubuntu安装搜狗输入法的相关问题

    最近换了一次电脑,要重新装系统,就选择了ubuntu14.04 LTS版本的,这个版本官方支持到2019年了,所以相对来说比较稳定,也不用担心软件源的问题.不像14.10那样,现在官方已经没有软件源的 ...

  7. U盘做了一个启动盘来安装Ubuntu,装好后,U盘不能进行格式化了,现在说一下网上找的方法

    参考网址:http://wenwen.sogou.com/z/q289778573.htm 说是这种情况需要对U盘进行低级格式化,具体方法如下: 你可以尝试使用diskpart命令 ① 以管理员身份运 ...

  8. New Concept English three(15)

    31w/m 43 Children always appreciate small gifts of money. Father, of course, provides a regular supp ...

  9. java异步计算Future的使用(转)

    从jdk1.5开始我们可以利用Future来跟踪异步计算的结果.在此之前主线程要想获得工作线程(异步计算线程)的结果是比较麻烦的事情,需要我们进行特殊的程序结构设计,比较繁琐而且容易出错.有了Futu ...

  10. Getting command line access to PHP and MySQL running MAMP on OSX

    建立自己profile路径应该在/Users/yourname/,最后要运行. ./.profile使文件生效,和windows中给添加环境变量是一个道理,还可以看出linux和UNIX默认运行路径为 ...