Unix标准加密方法

王朝system·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Java方面非常出名的一个类,很EASY的使用

/***************************************************************************

*

* JCrypt.java

*

* Java-based implementation of the unix crypt function

*

* Based upon C source code written by Eric Young, eay@psych.uq.oz.au

* Downloaded from public domain archives at developer.com

*

* Usage: JCrypt.crypt(String seed, String stringToEncrypt) -- String

* or JCrypt.main(String seed, String stringToEncrypt) -- Void

*

*****************************************

*/

package secure_election_system;

public class JCrypt

{

private JCrypt() {}

private static final int 99vERATIONS = 16;

private static final int con_salt[] =

{

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,

0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,

0x0A, 0x0B, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A,

0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12,

0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A,

0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22,

0x23, 0x24, 0x25, 0x20, 0x21, 0x22, 0x23, 0x24,

0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C,

0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34,

0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C,

0x3D, 0x3E, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,

};

private static final boolean shifts2[] =

{

false, false, true, true, true, true, true, true,

false, true, true, true, true, true, true, false

};

private static final int skb[][] =

{

{

/* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */

0x00000000, 0x00000010, 0x20000000, 0x20000010,

0x00010000, 0x00010010, 0x20010000, 0x20010010,

0x00000800, 0x00000810, 0x20000800, 0x20000810,

0x00010800, 0x00010810, 0x20010800, 0x20010810,

0x00000020, 0x00000030, 0x20000020, 0x20000030,

0x00010020, 0x00010030, 0x20010020, 0x20010030,

0x00000820, 0x00000830, 0x20000820, 0x20000830,

0x00010820, 0x00010830, 0x20010820, 0x20010830,

0x00080000, 0x00080010, 0x20080000, 0x20080010,

0x00090000, 0x00090010, 0x20090000, 0x20090010,

0x00080800, 0x00080810, 0x20080800, 0x20080810,

0x00090800, 0x00090810, 0x20090800, 0x20090810,

0x00080020, 0x00080030, 0x20080020, 0x20080030,

0x00090020, 0x00090030, 0x20090020, 0x20090030,

0x00080820, 0x00080830, 0x20080820, 0x20080830,

0x00090820, 0x00090830, 0x20090820, 0x20090830,

},

{

/* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */

0x00000000, 0x02000000, 0x00002000, 0x02002000,

0x00200000, 0x02200000, 0x00202000, 0x02202000,

0x00000004, 0x02000004, 0x00002004, 0x02002004,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航