java怎么实现php 的crypt相关内容,小编在这里做了整理,希望能对大家有所帮助,关于java怎么实现php 的crypt信息,一起来了解一下吧!
本文目录一览:

电脑所有后缀为.rar、.doc、.xls、.jpg、.dwg文件均被添加后缀._CRYPT
CRYPT_MD5 是Unix like Shadow密码
C crypt()
crypt是个密码加密函数,它是基於Data Encryption Standard(DES)演算法。
crypt基本上是One way encryption,因此它只适用於密码的使用,不适合於资料加密。
char *crypt(const char *key, const char *salt);
key 是使用者的密码。salt是两个字,每个字可从[a-zA-Z0-9./]中选出来,因此同一密码增加了4096种可能性。透过使用key中每个字的低七位元,取得 56-bit关键字,这56-bit关键字被用来加密成一组字,这组字有13个可显示的 ASCII字,包含开头两个salt。
[root@linux root]# cat crypt.c
/*
Netkiller 2003-06-27 crypt.c
char *crypt(const char *key, const char *salt);
*/
#include
main(){
char key[256];
char salt[64];
char passwd[256];
printf("key:");
scanf("%s",&key);
printf("salt:");
scanf("%s",&salt);
sprintf(passwd,"passwd:%s\n",crypt(key,salt));
printf(passwd);
}
[root@linux root]# gcc -o crypt -s crypt.c –lcrypt
[root@linux root]# ./crypt
key:chen
salt:salt
passwd:sa0hRW/W3DLvQ
[root@linux root]#
PHP crypt()
将字符串用 DES 编码加密。
语法: string crypt(string str, string [salt]);
返回值: 字符串
函数种类: 编码处理
内容说明
本函数将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串。
更详细的资料请参考 UNIX Manual (man) 中的 crypt。
在一些较新的 UNIX 版本中,除了 DES 之外还提供了其它的加密模块,如 MD5。甚至有些系统还用 MD5 取代 DES。在 salt 参数还有一些变化,端看传给 salt 参数的字符串长度而定:
* CRYPT_STD_DES - 标准的 DES 编码,输入 2 字符的 salt。
* CRYPT_EXT_DES - 延伸的 DES 编码,输入 9 字符的 salt。
* CRYPT_MD5 - MD5 编码,输入 12 字符加上 $1$ 的 salt。
* CRYPT_BLOWFISH - 延伸的 DES 编码,输入 16 字符加上 $2$ 的 salt。
此外,若不使用 salt 参数,则程序会自动产生

java怎么实现php 的crypt
Java实现Unix crypt命令的类JCrypt被详细编写,其基于Eric Young的C源代码。该类主要用于加密操作,主要功能是对用户输入的字符串进行加密。
JCrypt中定义了多个静态常量,如迭代次数ITERATIONS和salt值的预定义数组con_salt。通过这些常量,实现了对输入字符串进行复杂的加密处理。
类中定义了多个内部方法,如byteToUnsigned、fourBytesToInt、intToFourBytes等,这些方法用于处理字节、整数转换以及位运算等。
PERM_OP方法用于执行特定的位操作,该方法接受四个参数,返回一个经过位操作处理后的整数。该方法在加密过程中起到了关键作用。
des_set_key方法用于设置密钥,它接收一个字节数组作为密钥参数,并返回一个包含加密调度表的整数数组。
D_ENCRYPT方法用于执行加密操作,它接收多个整数参数,返回经过加密处理后的整数。
body方法用于执行加密的主体操作,该方法接收加密调度表、ESwap0和ESwap1参数,返回经过加密处理后的整数数组。
crypt方法是JCrypt的主要方法,它接收盐值和原始字符串作为参数,返回经过加密处理后的字符串。
该类还定义了一个main方法,用于测试加密功能。通过传入盐值和原始字符串,可以输出加密后的结果。
crypt例子
我爱编程网(https://www.52biancheng.com)小编还为大家带来crypt例子的相关内容。
在本例中,我们测试了多种加密算法在PHP环境下的表现:
1. 标准DES:
我爱编程网
在运行环境支持的情况下,使用"hello world"作为示例字符串,标准DES加密结果为:"Standard DES: $1$r35.Y52.$iyiFuvM.zFGsscpU0aZ4e."
2. 延伸DES:
同样地,当环境支持延伸DES算法时,其加密结果为:"Extended DES: $1$r35.Y52.$iyiFuvM.zFGsscpU0aZ4e".
3. MD5:
MD5算法的加密过程在当前环境中可执行,使用"hello world"作为输入,加密后得到:"MD5: $1$BN1.0I2.$8oBI/4mufxK6Tq89M12mk/".
4. 吹风机(Blowfish):
Blowfish加密功能在当前环境中的使用情况未能实现,显示出:"Blowfish DES not supported."
总结:此代码片段展示了在不同加密算法环境支持下,PHP如何执行字符串加密的过程,包括但不限于标准DES、延伸DES、MD5以及Blowfish算法。不同加密算法的结果通过输出信息直观呈现,有助于了解各种加密方式在实际应用中的表现。
扩展资料
crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。 在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。
以上就是java怎么实现php 的crypt全部内容了,了解更多相关信息,关注我爱编程网。更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。