Archive for the 'Technology' Category


October
2nd
2008

How Kerberos Authentication Works

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

You may not know it, but your network is probably unsecured right now. Anyone with the right tools could capture, manipulate, and add data between the connections you maintain with the internet. The security cat and mouse game isn’t one sided, however. Network administrators are currently taking advantage of Kerberos to help combat security concerns.

Project Athena

Project Athena was initiated in 1983, when it was decided by the Massachusetts Institute of Technology that security in the TCP/IP model just wasn’t good enough. A total of 8 long years of research passed before Kerberos, named after the three-headed Greek mythological dog known as Cerberus, was officially complete.

The result of MIT’s famous research became widely used as default authentication methods in popular operating systems. If you are running Windows 2000 or later, you are indeed running Kerberos by default. Other operating systems such as the Mac OS X also carry the Kerberos protocol. Kerberos isn’t just limited to operating systems, however, since it is employed by many of Cisco’s routers and switches.


September
22nd
2008

The Top 9½ In a Hacker’s Bookshelf

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

Every hacker should have a good solid dead tree library to draw ideas from and use as reference material. This list has a bit of everything - textbooks you will encounter at top tier computer science universities, books giving insight into the industry, and references you shouldn’t be caught without. It is a list of hackers’ classics.
每一位黑客都需要一个坚实的图书馆来寻找灵感以及查找参考资料。这儿的列表能给你一些你想要的东西,里面既有计算机科学的顶级大学教材,也有对业界的真知灼见,还有你不可或缺的参考书籍。它囊括了黑客的经典著作。

Buy The Mythical Man MonthThe Mythical Man Month: Essays on Software Engineering - Anniversary Edition

by Fredrick P. Brooks

This is a classic on the human elements of software engineering first published in 1975. The technology has changed a lot in this time, but the human elements of software engineering have remained the same. It is a wealth of insight, often quoted, and very well known in the industry. “The Mythical Man Month” describes many commonly occurring problems in large and mid-scale development projects and breaks them down. Here are a two of the book’s important principles:

The Mythical Man-Month: Adding manpower to a late software project makes it later.

No silver bullet: There is not a single strategy, technique, or trick that can exponentially raise the productivity of programmers.

I recommend this book not only for programmers, but for anyone managing a software project. Project managers and programmers alike will appreciate Brooks’ clear, well-thought out points.

人月神话:软件工程评述-周年版

这本论述软件工程中人的因素的经典著作出版于1975年。这些年来,技术已经发生了很大的变化,但是人的因素还是和原来一样让人头痛。这是一本有深刻洞察 力的书籍,也是一本在业界非常著名,常常被引用的书籍。《人月神话》概括了许多在大中型项目中经常遇到的,也是非常致命的问题。它提出了2条著名的准则:
人月神话:向一个已经延后的项目中投入更多的人力资源只会让它更延后
没有银弹:没有一种策略,技术或者技巧可以极大地提高程序员的生产力
我不仅向程序员推荐这本书,也想任何一个项目管理人员推荐这本书。项目经理和程序员都会喜欢布鲁克斯清楚而明晰的观点。


September
19th
2008

Java里产生随机数的方法

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

1. 使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机。
2. System类中有一个currentTimeMillis()方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,它可以作为一个随机数。拿它对一些数取模,就可以把他限制在一个范围之内了。
3. 在java.util 这个包里面提供了一个Random的类,可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机long。

  1. java.util.Random rand=new java.util.Random();
  2. System.out.println(rand.nextInt());

要产生100以内的随机数,可以使用种子,如下代码:

  1. java.util.Random rand=new java.util.Random(100);
  2. System.out.println(rand.nextInt());

如果没有提供种子数,Random实例的种子数将是当前时间的毫秒数,就是方法2里面的System.currentTimeMillis()来获得当前时间的毫秒数作为种子


September
9th
2008

Linux Kernel 2.6.26.5

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

Linux Kernel是Linux系统的核心部件,支持Intel、Alpha、PPC、 Sparc、IA-64 、ARM、MIPS、Amiga、Atari和IBM s/390等,还支持32位大文件系统.而在Intel平台上,物理内存最大支持可以达到64GB.加强对IDE和SCSI硬件系统的支持,并增强了对 USB设备和3D加速卡的支持.

下载: Linux Kernel 2.6.26.5


August
31st
2008

PC-BSD 7 Beta 1 发布

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

PC-BSD的团队发布了 PC-BSD 7 的第一个Beta版。PC-BSD 7 Beta 1 搭载的是上个月才发布的 KDE 4.1 桌面环境,PC-BSD 7 Beta 1 的发布更新了上个一 Alpha 版本中的大量软件,并修正了上一个版本遗留下来的 Bug, 并提供给用户多种安装方式,包括 DVD, USB,局域网/因特网的选择。


August
24th
2008

软件工程师不可不知的10个概念

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

出色的软件工程师善用设计模式,勤于代码重构,编写单元测试,并对简单有宗教般的追求。除了这些,优秀的软件工程师还要通晓10个概念,这10个概念超越了编程语言与设计模式,软件工程师应当从更广的范围内明白这些道理:
1. 接口 (Interfaces )
2. 惯例与模板 (Conventions and Templates)
3. 分层 (Layering )
4. 算法的复杂性 (Algorithmic Complexity)
5. 散列法 (Hashing )
6. 缓存 (Caching )
7. 并发 (Concurrency )
8. 云计算(Cloud Computing )
9. 安全(Security )
10. 关系数据库 (Relational Databases )


August
18th
2008

Use DES Encryption Algorithm in Java

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...
  1. // :encryption.java
  2. /**
  3.  * @author i4wei
  4.  * @date Aug. 18, 2008
  5.  * @version 1.0
  6.  */
  7.  
  8. import java.security.*;
  9. import javax.crypto.*;
  10. import java.io.*;
  11. import java.util.*;
  12.  
  13. public class encryption {
  14. public static void main(String[] args) {
  15. encryption my = new encryption();
  16. my.run();
  17. }
  18.  
  19. public void run() {
  20. //add new encryption algorithm JCE
  21. Security.addProvider(new com.sun.crypto.provider.SunJCE());
  22. String Algorithm = "DES"; // DES, DESede or Blowfish
  23. String plaintext = "original information";
  24. try {
  25. //generate DES key
  26. KeyGenerator keygen = KeyGenerator.getInstance(Algorithm);
  27. SecretKey DESkey = keygen.generateKey();
  28. //save key to DESkey.dat file
  29. ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("DESkey.dat"));
  30. out.writeObject(DESkey);
  31. out.close();
  32. System.out.println("DES key saved.");
  33. //encryption
  34. Cipher c1 = Cipher.getInstance(Algorithm);
  35. c1.init(Cipher.ENCRYPT_MODE, DESkey);
  36. byte[] cipherByte = c1.doFinal(plaintext.getBytes());
  37. System.out.println("Encrypte Successful.");
  38. System.out.println("cipher: " + byte2hex(cipherByte));
  39.  
  40. //decryption
  41. c1 = Cipher.getInstance(Algorithm);
  42. c1.init(Cipher.DECRYPT_MODE, DESkey);
  43. byte[] clearByte = c1.doFinal(cipherByte);
  44. if (Arrays.equals(clearByte, plaintext.getBytes())) {
  45. System.out.println("Decrypt Successful.");
  46. } else {
  47. System.out.println("Fail to decrypt.");
  48. }
  49. } catch (NoSuchAlgorithmException e1) {
  50. e1.printStackTrace();
  51. } catch (NoSuchPaddingException e2) {
  52. e2.printStackTrace();
  53. } catch (Exception e3) {
  54. e3.printStackTrace();
  55. }
  56. }
  57.  
  58. public String byte2hex(byte[] b) //binary to string
  59. {
  60. String hs = "";
  61. String stmp = "";
  62. for (int n = 0; n < b.length; n++) {
  63. stmp = (Integer.toHexString(b[n] & 0XFF));
  64. if (stmp.length() == 1) {
  65. hs = hs + "0" + stmp;
  66. } else hs = hs + stmp;
  67. }
  68. return hs.toUpperCase();
  69. }
  70.  
  71. }

April
9th
2008

Linux发行版的名称含义

Technology No Comments

评分: 很差劲不怎样还可以还不错太棒了
Loading ... Loading ...

独特的开发模式造就了今天百家争鸣的Linux,各个发行版的名字都代表哪些含义呢?下面是一些常用的版本,感兴趣的朋友一起来看:

Red Hat

This one has some really interesting stories behind it, I’ll leave the floor to Red Hat co-founder Bob Young to explain:
下面创始人之一的Bob Young为您解释其中含义:


1/3123»