博文

(转)探讨 J2SE 1.4 发行版中的安全性变化(2008-07-19 21:29:00)

摘要:  安全性是当前程序设计工作中的一个重要方面。由于应用程序在网络上呈分散分布,因而每个部分都需要保护自己的基础框架部分,而这在以前是内置到主应用程序中的。随着这些情况的变化,作为基础的 JavaTM 2 平台发行版也进行了不断演变,并在 J2SE 1.4 发行版 中并入了越来越多的功能,从而提供了一个可以执行移动代码的安全环境。    在最新的 1.4 发行版中,您会发现在安全体系结构中实现了许多增强功能。以前单独提供的几个功能现已成为核心 API 集中的一部分。其中包括通过 Java Cryptography Extension (JCE) 支持加密和解密,通过 Java Secure Socket Extension (JSSE) 实现的对安全套接字层 (SSL) 和传输层安全性 (TLS) 协议的支持,以及通过使用 Java Authentication and Authorization Service (JAAS) 实现的对基于用户的身份鉴定和访问控制的支持。除了包含这些以前的可选软件包以外,您还会发现新增了通过使用 Java Certification Path API实现的对生成和检验证书链的支持以及对 Java GSS-API 和 JAAS 下的 Kerberos V5 机制的支持。此外,还改进了安全策略治理工具 policytool,并添加了对动态载入安全策略的支持。    以下各节将介绍并深入检查所有这些功能。    Java Cryptography Extension  在 Java Cryptography Extension (JCE) 库中,您会发现对加密、解密、密钥协议、信息鉴定代码 (MAC)以及其它加密法服务的支持。由于某些国家/地区的进口控制限制,Java 2 SDK 1.4 发行版附带的JCE 辖区政策文件答应使用强大但有限的加密法。而在其它国家/地区(占大多数),则可以使用这些文件的"完全"版本,从而充分利用其强大的加密法而不受任何限制。您可以下载此版本,并使用此不受限制的版本替换随 Java 2 SDK 1.4 发行版提供的字符串加密法版本。    JCE 库可以将无格式文本转换为密文或反向转换,在 javax.crypto 软件包中可以找到该库。这里的密钥类是 Cipher,它决定了用于加密和解密的加密算法。借助 Cip......

阅读全文(2120) | 评论:0

(转)Java的秘密:将应用程序的设定存在哪里(2008-07-13 02:25:00)

摘要:摘自http://www.knowsky.com/365398.html 我们经常需要将我们的程序中的设定,如窗口位置,开启过的文件,用户的选项设定等数据记录下来,以做便用户下一次开启程序能继续使用这些数据。以前我们通常的做法是使用Properties类,它提供以下方法:    void load(InputStream inStream)  void store(OutputStream out, String header)  String getProperty(String key,  String defaultValue)  String getProperty(String key)    这些方法让我们很轻易的存取设定数据。另外的办法是使用ResourceBundle这个类来储存设定数据,甚至有些程序作者使用一个自定结构的文件来储存设定数据。但不管怎样,最让程序作者头痛的是:我该将这些数据保存在哪?    现在好了,JDK1.4为我们提供的Java.util.prefs包,里面有一个Preferences类,能让以上的工作变得极其轻松!    写VB程序的人经常用SaveSetting函数和getSettging来存取注册表中的用户设定数据。而Java的Preferences类也提供了类似的机制。    Preferences类在不同的平台中有不同的实现方式。而在Windows平台中,Preferences是将数据保存在注册表中的。    建立Preferences对象    为了区分不同的应用程序的参数项,在建立Preferences时要指定一个节点路径。Preferences是一个抽象类,提供了一系列静态方法和抽象方法来操作参数项:    抽象方法:    Preferences userData =  Preferences.userNodeForPackage(this);  Preferences sysData =  Preferences.systemNodeForPackage(this);    这两个方法是从指定的物件所在的包(package)返回一个节点路径,如this是javax.swing.JComponent,则返回/javax/swing    静态方法:    Preferences userDa......

阅读全文(1693) | 评论:0

月薪3万的面试题(2008-02-29 16:25:00)

摘要:(李嘉诚)出的月薪3万的面试题,大家一起研究研究哦    李嘉诚给长江实业高管们出的测试题(高智商啊)!  月薪3万的面试题,大家一起研究研究哦 :   小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天:3月4日、3月5日、3月8日、6月4日、6月7日、9月1日、9月5日、12月1日、12月2日、12月8日。张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?      小明说:如果我不知道的话,小强肯定也不知道     小强说:本来我也不知道,但是现在我知道了    小明说:哦,那我也知道了     请根据以上对话推断出张老师的生日是哪一天 ?     流行的推导有两种:第一种为9月1日,第二种为6月4日。个人感觉9月1日比较合理,可也说不出6月4日的推理哪不合理。 第一种: 设小明=A,小强=BA在已知M的情况下,说如果自己不知道,则B也不知道。这说明,M不=6 && M不=12。因为,如果M=6,那么,由于7号这个数字只出现了一次,所以,如果N=7的话,B有可能已经知道这个日期了,A不可能作出这么肯定的判断。同理,M不=12。B在听了A的话之后了解到了M只可能是3和9中的一个,马上知道了日期,那说明N不=5,因为如果N=5,那么B在听了A的话之后仍然无法得知日期。最后,A听了B的回答,得知N不=5,此时剩下的可能日期是3/4,3/8,9/1这三个日期。A马上说自己也知道了,说明M不=3,如果M=3,那么此时A仍然不知道日期是什么。所以,最终结果是,9月1日。   第二种: 设小明=A,小强=BA在已知M的情况下,说如果自己不知道,则B也不知道。这句话等价的逆否命题是:如果B知道,自己也知道。在已知的10组生日中只有7和2出现一次,这说明,A知道 M 应该等于6 或者 M =2。因为,只有生日在这两个月的情况下,才会有B知道,自己(A)也知道的命题成立。B在推知老师告诉A的M应该等于6或者12时,就说:本来我也不知道,但是现在我知道了,这表明B知道的应该是N=4,而不是1或者8。 如果N=......

阅读全文(2310) | 评论:0

FC6 ISO硬盘安装方法(2007-04-07 21:18:00)

摘要:    所谓硬盘安装就是将安装源文件放在硬盘上的安装方法。 1、准备工作   FC-6-x86-64-DVD.iso  Grub_climbing_v4   最好将FC安装ISO放在C:盘,将FC安装文件中的isolinux文件夹复制到C:盘根目录下。注意:C:可能需要fat32格式,未测试。 2、安装   在XP下安装Grub,直接双击下载的Grub_climbing_v4,安装完后,重新启动,启动项中会多出“启动Grub”,选择该启动项后,会出现Grub启动画面。按“C”键转换为命令行方式“grub>”。   在提示符“grub>”后,依次输入以下命令: grub>root (hd0, 0)grub>kernel (hd0,0)/isolinux/vmlinuzgrub>initrd (hd0,0)/isolinux/initrd.imggrub>boot   由此启动引导,在之后的界面中选择源文件目录。   之后,就同于一般的linux安装。......

阅读全文(4652) | 评论:1

Grub修复(2007-04-07 20:56:00)

摘要:转载自青涩年华   近来在坛子了看到许多朋友问到关于修复 Grub 的问题,这里我详细介绍一下修复损坏的Grub 的方法。虽然有很多方法可以解决这个问题,其实原理都大同小异,我这里只介绍一种我认为比较简便的办法。1、下载工具  如果你将 Grub 安装到了 MBR,重新安装 Windows XP/2K 等会将 MBR 清除,那么怎么修复 MBR 中的 Grub 引导记录呢?这里介绍的方法是使用 Grub4DOS 这个DOS下的工具,最新版本的 Grub4DOS 可以在 这里 下载到,下来之后可以用 win 下的 WinRAR、WinZIP 或 Linux 下的 tar zxvf 命令解开,将其中的 grub.exe 放在你的一个 fat/fat32 分区中(如 D:\grub4dos)。2、重新启动到 DOS,你可以用 DOS 启动软盘或光盘(我想一般都有一张 win98或 winme 光盘吧)。然后键入:code:--------------------------------------------------------------------------------d:\grub4dos\grub.exe--------------------------------------------------------------------------------这样就进入了 Grub 环境,你可以看到一个 gurb> 提示符,下面要做的就是恢复你的 Grub 引导记录3、在 Grub> 提示符下键入 code:--------------------------------------------------------------------------------root (hdx,y)kernel (hdx,y)/boot/yourkernelname ro root=/dev/hdxxsetup (hd0)--------------------------------------------------------------------------------第一个命令是指定你的 /boot 分区位置,如果你的 /boot 没有单独分区,那么就是你的 / 分区。第二个命令指定内核位置,具体位置根据自己的实际情况确定。第三个命令是将 ......

阅读全文(4414) | 评论:0

linux.iso刻录安装错误问题(2007-04-07 20:34:00)

摘要:下载了FC-6-x86-64-DVD.iso,刻录成DVD光盘,安装时出现如下错误: isolinux:disk error 20,Ax=4295,drive EF   出现上述问题时,解决办法如下: 第一 若提供了MD5,可先检验一下,确保文件完好文件,若验证不符,重新下载;若不提供MD5,那只好(盲目)地再下载一次。 第2 刻录的时候 选择 DISC AT ONCE 光盘1次刻录模式,注意区别于“光盘一次刻录”与“轨道一次刻录”两种模式的区别。   刻录软件:Nero7.751......

阅读全文(3344) | 评论:0

强盗分宝石的结果(2006-12-01 14:06:00)

摘要:强盗分宝石的结果   反向考虑问题。   若4号分配,4必死无疑,而5可以得到全部。(尽量多杀人原则)   若3号分配,4号为了保命肯定同意3号的,哪怕没宝石分,这样3号也可以独吞100颗宝石,而5号却一个拿不到,故3号肯定否决前面的分配方案,5号则要防止3号取得生杀大权。   若2号分配,2号必须收买两人,4号需要给1颗,而5号只要有1颗分也会同意2号,因为若3号分配5号一颗没有。4号和5号各1颗,3号一个没有,2号有98颗。   这样,1号的分配方案,可以收买3号,给1颗即可,再收买4号(或5号),给2颗。   最终的分配方案为:1号97颗,4号(或5号)2颗,3号一颗,2号和5号(或4号)一个没有。......

阅读全文(2921) | 评论:1

五个强盗分宝石(2006-12-01 13:48:00)

摘要:5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城.他们决定这么分:1. 抽签决定自己的号码(1.2.3.4.5)2. 首先,由1号提出分配方案,然后大家5人进行表决,当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼。3. 如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。4.以次类推条件:假如每个强盗都是经济学假设的"理性人",这个理性人的概念是能很理智的判断得失,做出选择。为了避免不必要的争执,我们还假定每个判决都能顺利执行。(模型之所以是模型就是理想化、抽象化的条件!)问题:最后的分配结果如何?注意~!海盗的判断原则:1.保命,2.尽量多得宝石,3.尽量多杀人。请组出最后的结果,宝石应该如何分配? 原因?......

阅读全文(3723) | 评论:0

“SWS32.exe”解析(2006-12-01 13:06:00)

摘要: “SWS32.exe”解析 现象 开机或explorer错误后弹出对话框“找不到c:\winows\sws32.exe,请确定文件和路径名是否正确,而且所需的库文件均可用” 解析 Trojan.PSW.LMir.rm破坏方法:偷传奇密码的木马。 一、病毒把自身复制到系统目录,命名为“sws32.exe”,释放“swin32.dll”。 修改注册表以自启动: HKLM\SoftWare\Microsoft\Windows\CurrentVersion\RunServices\ws_ds HKCU\SoftWare\Microsoft\Windows\CurrentVersion\Run\ws_ds 三、病毒频繁的搜索“传奇世界客户端”。试图在用户登陆游戏的时候,取得用户输入的账号、密码武器装备等等发送到到指定邮箱。解救方法: 先运行msconfig,在启动项里面找sws32.exe,把它前面的钩去掉;运行regedit,在注册表:"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"中,将“sws32.exe"删除"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"中,将“sws32.exe"删除"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"中将shell子键改为“Explorer.exe”......

阅读全文(2752) | 评论:0

女人和男人,还有那该死的空调……(2006-03-29 17:00:00)

摘要:摘自旮旯话儿道  (baiyshu 的 BLOG) 他是个男人   他在我上面   赤裸的胸膛在我眼前急促的起伏   我分明能听见他厚重的喘息声   汗水,从他线条粗犷的肌肉上滴下   顺着我燥热的脸   滑到脖子   贴近我的肌肤   一股男人成熟的气息   开始蒸发   除了双手紧紧抓住这张摇摇晃晃的椅子   我什么也做不了   倾斜角度太大的时候还得用一只手抓住他粗壮的腿   长时间的仰着脖子让视线变得模糊   热,让我不可收拾的汗水淋漓   我无法放手,因为他的动作越来越大   我想他快点,快点,快点   热气几乎可以把我溶化   这样的夏天发生这样的需要   如果没有他我想我早晚要发疯   最后的一刻,我看见他双臂上浮起的血管   他是我见过的最大力的男人   连这张椅子都跟随他的动作发出刺耳的呻吟   眼看着舒爽的一刻就要来临   这是一个电话中找来的男人   在这个城市   这样的男人很多   但我相信他一定是我能找到的最好的一个   而且技术纯熟   言语不多,知道自己该做些什么,该动什么   如果你是个女人   你可以记下这个电话××××××××   在有些事情你无法一个人解决的时候   他随叫随到,而且服务周到   就象在这样炎热的夏天   整整一个小时   他没有停过,连话都很少说   直到最后,他只说了一句话   终于搞定了   连价钱都是我主动给的   一个小时,他没有下来过,事前事后都没说过一声累   就站在我仅有的这把摇摇晃晃椅子上   直到把我这该死的空调修好   对这样的男人,我除了紧紧的抓住椅子给他一点点安全感   我还能说什么   今晚终于有了一个清凉的夏夜……......

阅读全文(2979) | 评论:0