此处将为大家介绍关于phpjava的详细内容,并且为您解答有关phpjava区别的相关问题,此外,我们还将为您介绍关于android-懂JAVA&PHP的进,求一JAVA数据加密类的PHP版本。、ja
此处将为大家介绍关于php java的详细内容,并且为您解答有关php java区别的相关问题,此外,我们还将为您介绍关于android - 懂JAVA&PHP的进,求一JAVA数据加密类的PHP版本。、java php 速度:实测java 与php运行速度比较、JavaScript 与 Java、PHP 的比较、Java和PHP在Web开发方面对比分析,java对比分析_PHP教程的有用信息。
本文目录一览:- php java(php java区别)
- android - 懂JAVA&PHP的进,求一JAVA数据加密类的PHP版本。
- java php 速度:实测java 与php运行速度比较
- JavaScript 与 Java、PHP 的比较
- Java和PHP在Web开发方面对比分析,java对比分析_PHP教程
php java(php java区别)
@bigTreee 你好,想跟你请教个问题:
php调java的webservice接口上传文件
android - 懂JAVA&PHP的进,求一JAVA数据加密类的PHP版本。
跟人合作搞个Android App,我负责服务器端 用的是PHP,
手机端和服务器端之间的数据传输有加密,
他手机端用的是这个JAVA的数据加密类,
求相对应的PHP版本 数据加密类。
package com.ssh.util; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.security.Key; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESedeKeySpec; import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; /** * DESede对称加密算法演示 * * @author zolly * */ public class DESedeCoder { /** * 密钥算法 * */ public static final String KEY_ALGORITHM = "DESede"; /** * 加密/解密算法/工作模式/填充方式 * */ public static final String CIPHER_ALGORITHM = "DESede/ECB/PKCS5Padding"; /** * * 生成密钥 * * @return byte[] 二进制密钥 * */ public static byte[] initkey() throws Exception { // 实例化密钥生成器 KeyGenerator kg = KeyGenerator.getInstance(KEY_ALGORITHM); // 初始化密钥生成器 kg.init(168); // 生成密钥 SecretKey secretKey = kg.generateKey(); // 获取二进制密钥编码形式 byte[] key = secretKey.getEncoded(); BufferedOutputStream keystream = new BufferedOutputStream(new FileOutputStream("DESedeKey.dat")); keystream.write(key, 0, key.length); keystream.flush(); keystream.close(); return key; } /** * 转换密钥 * * @param key * 二进制密钥 * @return Key 密钥 * */ public static Key toKey(byte[] key) throws Exception { // 实例化Des密钥 DESedeKeySpec dks = new DESedeKeySpec(key); // 实例化密钥工厂 SecretKeyFactory keyFactory = SecretKeyFactory .getInstance(KEY_ALGORITHM); // 生成密钥 SecretKey secretKey = keyFactory.generateSecret(dks); return secretKey; } /** * 加密数据 * * @param data * 待加密数据 * @param key * 密钥 * @return byte[] 加密后的数据 * */ public static byte[] encrypt(byte[] data, byte[] key) throws Exception { // 还原密钥 Key k = toKey(key); // 实例化 Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); // 初始化,设置为加密模式 cipher.init(Cipher.ENCRYPT_MODE, k); // 执行操作 return cipher.doFinal(data); } /** * 解密数据 * * @param data * 待解密数据 * @param key * 密钥 * @return byte[] 解密后的数据 * */ public static byte[] decrypt(byte[] data, byte[] key) throws Exception { // 欢迎密钥 Key k = toKey(key); // 实例化 Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); // 初始化,设置为解密模式 cipher.init(Cipher.DECRYPT_MODE, k); // 执行操作 return cipher.doFinal(data); } /** * 加密字符串 * @param data * @return */ public static String encode(String str,String screatKey){ String result = ""; byte[] data = DESedeCoder.encrypt(str.getBytes(), screatKey.getBytes()); result = Base64.encode(data); return result; } /** * 解密字符串 * @param str * @return */ public static String decode(String str,String screatKey){ String result = ""; try { byte[] data = Base64.decode(str); data = DESedeCoder.decrypt(data, screatKey.getBytes()); result = new String(data); } catch (Exception e) { e.printStackTrace(); } return result; } /** * 进行加解密的测试 * * @throws Exception */ public static void main(String[] args) throws Exception { String key = "2C7dDYBy20mmKy3391xivikz"; String str = "hello world~"; System.out.println("Key:"+key); System.out.println("原文:" + str); //加密 String value = encode(str,key); System.out.println("加密后:" + value); System.out.println("解密后:" + decode(value,key)); } }
回复内容:
跟人合作搞个Android App,我负责服务器端 用的是PHP,
手机端和服务器端之间的数据传输有加密,
他手机端用的是这个JAVA的数据加密类,
求相对应的PHP版本 数据加密类。
package com.ssh.util; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.security.Key; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESedeKeySpec; import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; /** * DESede对称加密算法演示 * * @author zolly * */ public class DESedeCoder { /** * 密钥算法 * */ public static final String KEY_ALGORITHM = "DESede"; /** * 加密/解密算法/工作模式/填充方式 * */ public static final String CIPHER_ALGORITHM = "DESede/ECB/PKCS5Padding"; /** * * 生成密钥 * * @return byte[] 二进制密钥 * */ public static byte[] initkey() throws Exception { // 实例化密钥生成器 KeyGenerator kg = KeyGenerator.getInstance(KEY_ALGORITHM); // 初始化密钥生成器 kg.init(168); // 生成密钥 SecretKey secretKey = kg.generateKey(); // 获取二进制密钥编码形式 byte[] key = secretKey.getEncoded(); BufferedOutputStream keystream = new BufferedOutputStream(new FileOutputStream("DESedeKey.dat")); keystream.write(key, 0, key.length); keystream.flush(); keystream.close(); return key; } /** * 转换密钥 * * @param key * 二进制密钥 * @return Key 密钥 * */ public static Key toKey(byte[] key) throws Exception { // 实例化Des密钥 DESedeKeySpec dks = new DESedeKeySpec(key); // 实例化密钥工厂 SecretKeyFactory keyFactory = SecretKeyFactory .getInstance(KEY_ALGORITHM); // 生成密钥 SecretKey secretKey = keyFactory.generateSecret(dks); return secretKey; } /** * 加密数据 * * @param data * 待加密数据 * @param key * 密钥 * @return byte[] 加密后的数据 * */ public static byte[] encrypt(byte[] data, byte[] key) throws Exception { // 还原密钥 Key k = toKey(key); // 实例化 Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); // 初始化,设置为加密模式 cipher.init(Cipher.ENCRYPT_MODE, k); // 执行操作 return cipher.doFinal(data); } /** * 解密数据 * * @param data * 待解密数据 * @param key * 密钥 * @return byte[] 解密后的数据 * */ public static byte[] decrypt(byte[] data, byte[] key) throws Exception { // 欢迎密钥 Key k = toKey(key); // 实例化 Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); // 初始化,设置为解密模式 cipher.init(Cipher.DECRYPT_MODE, k); // 执行操作 return cipher.doFinal(data); } /** * 加密字符串 * @param data * @return */ public static String encode(String str,String screatKey){ String result = ""; byte[] data = DESedeCoder.encrypt(str.getBytes(), screatKey.getBytes()); result = Base64.encode(data); return result; } /** * 解密字符串 * @param str * @return */ public static String decode(String str,String screatKey){ String result = ""; try { byte[] data = Base64.decode(str); data = DESedeCoder.decrypt(data, screatKey.getBytes()); result = new String(data); } catch (Exception e) { e.printStackTrace(); } return result; } /** * 进行加解密的测试 * * @throws Exception */ public static void main(String[] args) throws Exception { String key = "2C7dDYBy20mmKy3391xivikz"; String str = "hello world~"; System.out.println("Key:"+key); System.out.println("原文:" + str); //加密 String value = encode(str,key); System.out.println("加密后:" + value); System.out.println("解密后:" + decode(value,key)); } }
还是靠自己比较靠谱。。。
/** * DESede 数据加密解密类 * * @author thisky@qq.com */ class DESedeCoder { public static function encrypt($str, $key) { $td = self::gettd($key); $ret = base64_encode(mcrypt_generic($td, self::pkcs5_pad($str, 8))); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $ret; } public static function decrypt($str, $key) { $td = self::gettd($key); $ret = self::pkcs5_unpad(mdecrypt_generic($td, base64_decode($str))); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $ret; } private static function pkcs5_pad($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); } private static function pkcs5_unpad($text) { $pad = ord($text{strlen($text) - 1}); if ($pad > strlen($text)) { return false; } if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) { return false; } return substr($text, 0, -1 * $pad); } private static function getiv() { return pack(''H16'', ''0102030405060708''); } private static function gettd($key) { $iv = self::getiv(); $td = mcrypt_module_open(MCRYPT_3DES, '''', MCRYPT_MODE_ECB, ''''); mcrypt_generic_init($td, $key, $iv); return $td; } }
aes(字数补丁)
在吗!我遇到同样的问题!求帮助!
java php 速度:实测java 与php运行速度比较
java如下
<ol> <li><span><span>public</span><span> </span><span>class</span><span> aa{ </span></span></li> <li><span><span>public</span><span> </span><span>static</span><span> </span><span>void</span><span> main(String[] args){ </span></span></li> <li><span>System.out.println(System.currentTimeMillis()+<span>"----"</span><span>); </span></span></li> <li><span><span>int</span><span> a=</span><span>0</span><span>; </span></span></li> <li><span><span>int</span><span> i; </span></span></li> <li><span><span>for</span><span>(i=</span><span>0</span><span>;i<span>10000000</span><span>;i++){ </span></span></span></li> <li><span>a++; </span></li> <li><span>} </span></li> <li><span>System.out.println(System.currentTimeMillis()); </span></li> <li><span>} </span></li> <li><span>} </span></li> </ol>
php如下
<ol> <li><span><span> </span></span></li> <li><span><span>echo</span><span> microtime(); </span></span></li> <li><span><span>$n</span><span>=0; </span></span></li> <li><span><span>for</span><span>(</span><span>$i</span><span>=0;</span><span>$i</span><span><span>$i</span><span>++){ </span></span></span></li> <li><span><span>$n</span><span>++; </span></span></li> <li><span>} </span></li> <li><span><span>echo</span><span> </span><span>''----''</span><span>.microtime(); </span></span></li> <li><span>?> </span></li> </ol>
同样都是循环一千万次
运行结果如下
java用时0.015秒
php用时0.726秒
java的速度是php的48倍,差别居然这么大!!
JavaScript 与 Java、PHP 的比较
网站开发的实践从设计方面开始,包括客户端编程语言。大体上说,在网页设计中使用了三种语言:HTML,CSS和Java。自从网站发明以来,HTML和CSS已经成为网页设计的基础,但是Java被用于添加网站的动态视图。
在提供吸引人的UI / UX中,Java扮演着至关重要的角色。但是,有一个大的误解是关于JS是Java的一部分。有时,Java也会被比较于服务器语言PHP。
最好运行Java与java和Java与PHP的比较。这会让你认识到它们之间的异同。
Java与Java相似
虽然这两种语言都不同,但在更广泛的层面上有一些相似之处。
OOPS(面向对象编程)概念
这两种语言都遵循OOPS(面向对象编程)概念。您已经知道在Java中使用对象。类似的,在JS中,对象也与它们之间的关系一样。
前端开发
其中Java可以直接添加到HTML,Java也可以用作Java Applet(Java小应用程序)。
Java与Java的不相似
当涉及到两者之间的差异时,会出现一个冗长的列表。两者之间的主要区别很少如下:
运行平台
Java需要在JDK或JRE的JVM(Java虚拟机)上运行。另一方面,Java在Web浏览器上运行,因此不需要特定的平台。有趣的是,所有最新的网络浏览器都支持Java。
范围
在可用性方面,Java在任何地方都可用,并且也被认为是一种独立的编程语言。另一方面,Java仅限于与HTML和CSS一起使用;抵制其全球使用。
编译
Java是一种编译和解释语言,而Java只是一个纯文本代码。这就意味着JS编写的代码在不同的平台上解释。
构造函数
构造函数在Java中用于对象创建,而在JS中,构造函数只是一个标准函数。
Java与PHP相似
Java和PHP之间的战斗更重要,因为这两种语言都是Web开发的主要部分。
使用范围
PHP(超文本预处理器)和Java,用于Web开发任务。它们无与伦比的重要性有助于编码器构建具有强大后端功能及吸引人的用户界面。
解释语言
PHP和Java都被称为解释语言(或脚本)。这意味着代码在其各自的环境(分别为Java和PHP的浏览器和服务器)上运行。
Java与PHP不同服务器与客户端
在前端和后端的基础上这两种语言是不同的。Java脚本语言是一种前端语言(除Node.js之外),而PHP是一种服务器端语言。
并发
在PHP中,多线程的概念可用于同时处理多个请求。另一方面,在Java中,编码器只提供一些策略,如 事件循环+节点聚类,这有助于处理相同的事件。
OOPS
如前所述,Java在编写脚本时使用对象和它们之间的关系。另一方面,PHP是一个程序性的面向对象语言。
兼容;性
JS语言可以嵌入HTML,XML和AJAX。另一方面,PHP只能嵌入HTML。它不能与XML一起使用。但是,还有其他选项与XML使用相同。
因此,比较清楚地表明,Java脚本语言有点类似于Java和PHP,但并不是一个能替代这些语言的语言。你可以使用JS作为支持语言,但你不能使它成为基于Web或基于应用程序的编码的基本语言。
Java的范围随着Node.js,Angular.js和其他脚本的引入而增强。所以,如果你是一个Web开发人员,学习Java将永远是你的知识和技能的优势。
Java和PHP在Web开发方面对比分析,java对比分析_PHP教程
java和php在web开发方面对比分析,java对比分析
比较php和jsp这两个web开发技术,在目前的情况是其实是比较php和java的web开发。以下是我就几个主要方面进行的比较:
一、 语言比较
PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。
Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的Web开发首先最容易想到的就是JSP(现在已经到JSP2.0),原来的java的Web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。所以后来就出现了JSP,JSP可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。Jsp可以通过servlet和JavaBean的支持产生强大的功能。JavaBean 是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。
Java的Web开发属于SUN公司定义的J2EE其中的规范。而且在J2EE中包括了java的Web开发的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特别适合于做大型的企业级的应用。
二、 数据库访问比较
Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。
PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的Web应用从MySQL数据库转到Oracle数据库只需要做很少的修改。而PHP则需要做大量的修改工作。
三、 系统设计架构比较
采用Java的Web开发技术,需要使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。所以用Java进行开发前期需要做大量的系统分析和设计的工作。
立即学习“PHP免费学习笔记(深入)”;
四、 跨平台性
Java和PHP都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在Linux或者Windows等不同的操作系统上。
五、 开发成本比较
PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的Web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
Java的Web应用服务器有免费Tomcat、JBoss等,如果需要更好的商业化的服务有:Web Sphere和 Web logic。
六、 分布式多层架构比较
PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用java的Web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。
下面简要的说一下Struts,它实质上是在JSP Model2的基础上实现的一个MVC(Model、View、Controler)框架。JSP Model2体系结构是一种联合使用JSP 与Servlet 来提供动态内容的方法。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由Servlet实现的,视图由一组JSP文件组成。采用Struts可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。
七、 源代码安全
PHP开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。
Java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。
八、性能比较
有人做过试验,对这两种种语言分别做回圈性能测试及存取Oracle数据库测试。
在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒。
数据库测试中,二者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒。
综上所述,我个人认为,PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高。
以上就是本文的全部内容了,希望对大家能够有所帮助。
关于php java和php java区别的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于android - 懂JAVA&PHP的进,求一JAVA数据加密类的PHP版本。、java php 速度:实测java 与php运行速度比较、JavaScript 与 Java、PHP 的比较、Java和PHP在Web开发方面对比分析,java对比分析_PHP教程等相关内容,可以在本站寻找。
本文标签: