① 怎样在mac上编写并运行java程序
工具/原料
一台苹果系统的笔记本电脑
eclipse软件
方法/步骤
1.查询登录eclipse官网,由于我是用Java开发的所以步骤如下:
2.找到“EclipseIDEforjavaDevelopers”此处右上角会根据你当前使用的系统自动选择,Mac下就会自动选择位“MacOSX(Cocoa)”
简单的Java加密算法有:
第一种. BASE
Base是网络上最常见的用于传输Bit字节代码的编码方式之一,大家可以查看RFC~RFC,上面有MIME的详细规范。Base编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base来将一个较长的唯一标识符(一般为-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
第二种. MD
MD即Message-Digest Algorithm (信息-摘要算法),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD的前身有MD、MD和MD。广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD后都能生成唯一的MD值。好比现在的ISO校验,都是MD校验。怎么用?当然是把ISO经过MD后产生MD的值。一般下载linux-ISO的朋友都见过下载链接旁边放着MD的串。就是用来验证文件是否一致的。
MD算法具有以下特点:
压缩性:任意长度的数据,算出的MD值长度都是固定的。
容易计算:从原数据计算出MD值很容易。
抗修改性:对原数据进行任何改动,哪怕只修改个字节,所得到的MD值都有很大区别。
弱抗碰撞:已知原数据和其MD值,想找到一个具有相同MD值的数据(即伪造数据)是非常困难的。
强抗碰撞:想找到两个不同的数据,使它们具有相同的MD值,是非常困难的。
MD的作用是让大容量信息在用数字签名软件签署私人密钥前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD以外,其中比较有名的还有sha-、RIPEMD以及Haval等。
第三种.SHA
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于^位的消息,SHA会产生一个位的消息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。
SHA-与MD的比较
因为二者均由MD导出,SHA-和MD彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:
对强行攻击的安全性:最显着和最重要的区别是SHA-摘要比MD摘要长 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD是^数量级的操作,而对SHA-则是^数量级的操作。这样,SHA-对强行攻击有更大的强度。
对密码分析的安全性:由于MD的设计,易受密码分析的攻击,SHA-显得不易受这样的攻击。
速度:在相同的硬件上,SHA-的运行速度比MD慢。
第四种.HMAC
HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证等。
③ java最常用的几种加密算法
简单的Java加密算法有:
第一种. BASE
Base是网络上最常见的用于传输Bit字节代码的编码方式之一,大家可以查看RFC~RFC,上面有MIME的详细规范。Base编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base来将一个较长的唯一标识符(一般为-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
第二种. MD
MD即Message-Digest Algorithm (信息-摘要算法),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD的前身有MD、MD和MD。
MD算法具有以下特点:
压缩性:任意长度的数据,算出的MD值长度都是固定的。
容易计算:从原数据计算出MD值很容易。
抗修改性:对原数据进行任何改动,哪怕只修改个字节,所得到的MD值都有很大区别。
弱抗碰撞:已知原数据和其MD值,想找到一个具有相同MD值的数据(即伪造数据)是非常困难的。
强抗碰撞:想找到两个不同的数据,使它们具有相同的MD值,是非常困难的。
MD的作用是让大容量信息在用数字签名软件签署私人密钥前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD以外,其中比较有名的还有sha-、RIPEMD以及Haval等。
第三种.SHA
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于^位的消息,SHA会产生一个位的消息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。
SHA-与MD的比较
因为二者均由MD导出,SHA-和MD彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:
对强行攻击的安全性:最显着和最重要的区别是SHA-摘要比MD摘要长 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD是^数量级的操作,而对SHA-则是^数量级的操作。这样,SHA-对强行攻击有更大的强度。
对密码分析的安全性:由于MD的设计,易受密码分析的攻击,SHA-显得不易受这样的攻击。
速度:在相同的硬件上,SHA-的运行速度比MD慢。
第四种.HMAC
HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证等。
④ Java获取电脑mac地址,如果是双网卡获取的mac地址是不是随机的
取mac要先得到NetworkInterface对象,多网卡的话会有多个对象,所以要看你在哪个对象上取mac了,反正不会是随机
⑤ java怎么生成本机mac地址
来走一个
publicstaticvoidmain(String[]args)throwsUnknownHostException,SocketException{
InetAddressinetAddress=InetAddress.getLocalHost();
//获取网卡,获取地址
byte[]mac=NetworkInterface.getByInetAddress(inetAddress).getHardwareAddress();
StringBuffersb=newStringBuffer("");
for(inti=0;i<mac.length;i++){
if(i!=0){
sb.append("-");
}
//字节转换为整数
inttemp=mac[i]&0xff;
Stringstr=Integer.toHexString(temp);
if(str.length()==1){
sb.append("0"+str);
}else{
sb.append(str);
}
}
System.out.println("本机MAC地址:"+sb.toString().toUpperCase());
}
输出:
本机MAC地址:B8-88-E3-FA-03-39
⑥ 如何用mac系统java编程
不用配置环境 连jdk都不用装 mac系统已经自动载入了java环境 你用mac终端编写就可以 编写语言与win上的dos基本一致 或者安装一个第三方开发软件最好 推荐myeclipse
⑦ 如何用java实现一个加密算法(现有的这个是C写的,想要一个java的)菜鸟一个,求高手帮忙····
import java.io.*; //引入io包
public class TxtEncrypt
{
public static void main(String args[ ]) //主函数
{
System.out.println("输入一个字符作为密钥:");
char key = System.in.read();//等待用户输入一个字符作为密钥
File fileOne=new File("hello.txt"), //要加密的文件
fileTwo=new File("hello.secret");//加密后的文件
char b[]=new char[100]; //缓冲字符数组
try{
FileReader in=new FileReader(fileOne); //创建读文件流,也可以叫文件输入流
FileWriter out=new FileWriter(fileTwo); //创建写文件流,也可以叫文件输出流
int n=-1; //定义变量,存放read读的返回值
while((n=in.read(b))!=-1) //如果变量n为-1,则文件到达末尾
{
for(int i=0;i<n;i++) //循环,从字符数组b中读取字符
{
b[i]=(char)(b[i]^key); //加密,讲字符数组b中的每个字符跟a异或,然后放入b中
}
out.write(b,0,n); //然后把b中的所有字符写入到writer流中,也就是hello.secret文件中
}
out.close(); //读完之后,关闭输出流
in=new FileReader(fileTwo); //创建hello.secret文件的读文件流
System.out.println("加密后的文件内容:"); //输出字符串
while((n=in.read(b))!=-1) //当文件没有到达末尾,一直执行下面的循环体
{
String str=new String(b,0,n); //把b中的字符放入字符串变量str中
System.out.println(str); //输出str中的值 (整个循环的意思是把加密后的文件输出到屏幕上)
}
in=new FileReader(fileTwo); //创建hello.secret文件的读文件流
System.out.println("解密后的文件内容:"); //输出字符串
while((n=in.read(b))!=-1) //当文件没有到达末尾,一直执行下面的循环体
{
for(int i=0;i<n;i++) //for循环
{
b[i]=(char)(b[i]^key); //把b字符数组中的每个字符跟a异或(同一个字符异或两次之后,得到原来的字符)
}
System.out.println(new String(b,0,n)); //输出b中的所有字符
}
in.close(); //关闭输入流
}
catch(IOException e)
{
System.out.println(e); //捕获io异常
}
}
}
⑧ 请问在mac os下如何实现java编程 如何调试系统环境呢
的 所以买苹果机器外箱打开无所谓 一定要看包在机器身上的那层塑料膜
MAC用的都是苹果自带的OS系统 C C++之类的我还真不知道 建议还是安个精简版的XP系统 兼容性好 而且很方便
下个WMWARE 在苹果系统下能方便开启XP系统 两个系统共用 在PRO强大配置下应该是很流畅的
希望对你说的有帮助
苹果电池个人觉得确实时间不怎么长 但是XP系统下两个多小时肯定是可以达到的
XCODE 是比C C++更便捷更好用的编程软件 这个是在网络DOWN的 你看看吧
Xcode 2.0 是开发人员建立 Mac OS X 应用程序的最快捷方式,也是利用新的苹果电脑公司技术的最简单的途径。Xcode 2.0 将 Mac OS X 的轻松使用,UNIX 能量以及高性能的开发技术集合在一起。
不管你用 C、C++、 Objective-C 或 Java 编写程序,在 AppleScript 里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快。每次操作都很快速和轻松。
[编辑本段]自由撤消
Xcode 2.0 的虚拟模型和设计功能让你可以更轻松的开发和维护应用程序。只需选择应用程序中想要编写的部分,然后模型和设计系统将自动创建分类图表,不仅可以显示编码,还可以让你进行浏览。Mac OS X Core Data API 帮你的应用程序创建数据结构。更棒的是,它还自动提供撤消、重做和保存功能,无需编写任何编码。
[编辑本段]最新的答案
Xcode 整合的 Apple Reference Library 为所有的苹果电脑公司开发者文件提供一个单独的搜索和显示界面,这些文件包括来自苹果电脑公司网站的在线文件,以及存放在你电脑上的文件。新的参考资料库甚至可以帮你将定期更新资料下载到你的电脑,保持文件的最新状态。Xcode 将帮你快速找到最新的答案。
[编辑本段]先进的编译器
Xcode 2.0 的核心部分是苹果电脑公司下一代业界标准的 gcc 编译器 gcc 4.0。新的编译器利用许多先进的最优化技术帮你从现存编码中获得更多性能。从超级计算世界借鉴来的自动向量化(Auto-vectorization)技术可以帮助你释放每台 PowerPC G4 和 G5 系统中速度引擎的能量,而不需要编写向量化编码。其他的最优化工具则支持反馈定向的最优化,以及隐藏模块分析。
[编辑本段]无损耗的海量内存
借助 Mac OS X Tiger 中的新64位支持,Xcode 将赋予你创建诸如计算和渲染引擎应用程序的能力,这些应用程序使用64位内存寻址。这非常适合数据集中的应用程序,其通过访问内存中的数据运行速度更快,远胜于磁盘访问。Xcode 将为你提供工具来建立并调试适合 PowerPC G5 和 Mac OS X Tiger 的64位应用程序,还可以让你创建包含32位和64位执行能力的 Fat Binaries。
[编辑本段]分布式构建
众所周知,在构建中引进多重处理器可以提高速度,Xcode 能帮你实现这个明显的结论。利用支持 Rendezvous 的分布式构建功能,可以轻易地把编译工作量分散到闲置的电脑上来寄放构建,或者更好是在单独的电脑上开发一个专门的 Xserve 构建寄放区,快速处理那些耗时的任务。
[编辑本段]Java
Xcode 2.0 拥有众多功能,为 Java 开发人员赋予了更多的开发能力。利用改进的 Code Sense 索引及 Ant 项目模板,Java 用户可以继续使用他们的标准 Java 包,并构建具有 Xcode 关键生产功能的工具。Java 代码填充为你提供类别名、方法、变量及其他关键信息。在 Xcode 中创建 Java 应用程序比以往更容易。
[编辑本段]CodeWarrior 输入
因为 Xcode 支持 CodeWarrior 风格相关项目参考,所以可以保证把 CodeWarrior 项目文件快速方便地转移到 Xcode。因为 Xcode 兼容 CodeWarrior 风格在线编码汇编,所以从 CodeWarrior 到 Xcode 转变的消耗得到降低, 也使得开发人员手动调整应用程序的临界性能部分。
苹果电脑公司的 Mac OS X 综合开发环境 Xcode 为各种类型的 Mac OS X 软件项目提供项目编辑、搜索和浏览,文件编辑,项目构建和调试设备等功能。
Xcode 可用来辅助开发应用程序、工具、架构、数据库、嵌入包、核心扩展和设备驱动程序。Xcode 支持开发人员使用 C、 C++、Objective C、 AppleScript 和 Java。
Xcode 能够和 Mac OS X 里众多其它的工具协作,例如综合用户界面结构应用程序;编译器如 gcc、 javac 和 jikes;还有调试工具如 gdb。
另外,你可以用 AppleScript Studio 组增加一个 Aqua 界面到系统和应用程序脚本、命令行工具、以及网络应用程序中。以上三者无论如何都能在任何平台组合成最强大的脚本环境。
[编辑本段]远程调试
调试全屏幕应用程序(比如游戏)具有很大的挑战性。将调试窗口放在什么位置呢?有了 Xcode 2.0 的绘图远程调试,所有强大的 Xcode 调试功能(例如数据格式程序、Fix、Continue)都可以在远程机器上用来调试应用程序。利用与远程调试阶段的加密连接,Xcode 可以保证你的数据安全。
还有什么问题 可以HI我 乐意解答