首页 > 系统相关 >linux crypt()函数使用总结

linux crypt()函数使用总结

时间:2023-05-31 23:39:19浏览次数:44  
标签:函数 crypt DES SHA linux 512 salt 加密算法

linux crypt()函数使用总结


 


原型:

char *crypt(const char *key, const char *salt);

标准说明:

crypt()算法会接受一个最长可达8字符的密钥(即key),并施以数据加密算法(DES)的一种变体。salt参数指向一个两个字符的字符串,用来改变DES算法。该函数返回一个指针,指向长度13个字符的字符串。

在glibc2中crypt函数扩展使用:

crypt支持的额外加密算法有MD5、Blowfish(某些特定的Linux系统支持)、SHA-256(glibc2.7开始)、SHA-512(glibc2.7开始),并通过salt以“$id$salt$encrypted” 这样的格式区分不同算法,根据id的不同值选择不同的加密算法来代替默认的DES算法,id的格式如下:

ID  | Method
          ─────────────────────────────────────────────
          1   | MD5
          2a  | Blowfish (not in mainline glibc; added in some
              | Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

$5$salt$encrypted 的salt代表crypt函数使用SHA- 256加密算法 
$6$salt$encrypted 的salt代表crypt函数使用SHA-512加密算法 
$salt$ 中的salt最多支持长度为16字符的字符串,相比默认的DES算法支持最长为2字符有了很大的改进,最后crypt的返回值根据加密算法的不同也有不同长度的字符串返回。

MD5     | 22 characters
   SHA-256 | 43 characters
   SHA-512 | 86 characters



一天一天的满足,即一天一天的堕落!

标签:函数,crypt,DES,SHA,linux,512,salt,加密算法
From: https://blog.51cto.com/lenglingx/6390997

相关文章

  • filter、lambda函数合用
    L=list(filter(lambdax:x%2,range(0,20)))#奇数print(L)Lo=list(filter(lambdax:notx%2,range(0,20)))#偶数print(Lo)https://python3-cookbook.readthedocs.io/zh_CN/latest/index.htmlhttps://www.liaoxuefeng.com/wiki/1016959663602400......
  • Doris(六) -- 查询语法和内置函数
    查询语法和内置函数查询语法整体结构SELECT[ALL|DISTINCT|DISTINCTROW]--对查询字段的结果是否需要去重,还是全部保留等参数select_expr[,select_expr...]--select的查询字段[FROMtable_references[PARTITIONpartition_list]......
  • jmeter 自定义函数和Sampler(采集器)
    第一个插件自定义函数(Function)代码具体如下,生成jar放到lib\ext目录下即可。/*代码路径中,一定要放在functions目录中,否则jmeter会识别自定义函数失败*/packageinterfacePerformance.functions;importjava.util.Collection;importjava.util.LinkedList;importjav......
  • linux - passwd结构体
     #include<stdio.h>#include<pwd.h>#include<unistd.h>#include<sys/types.h>intmain(){structpasswd*tmp=NULL;tmp=getpwuid(geteuid());printf("username:%s\n",tmp->pw_name);printf("userp......
  • Linux环境下耗尽cpu占用率的指令
     模拟cpu打满foriin`seq1$(cat/proc/cpuinfo|grep"physicalid"|wc-l)`doddif=/dev/zeroof=/dev/null&done 模拟内存打满生产大文件ddif=/dev/zeroof=testbs=1Mcount=2000然后vi打开 vimtest&这种也可以。使用top命令查看linux系统cpu使用情况:#......
  • (八)awk内置函数
    算数函数,字符串函数,其它函数算数函数最常用的算数函数有rand函数、srand函数、int函数。可以使用rand函数生成随机数,但是使用rand函数时,需要配合srand函数,否则rand函数返回的值将一直不变,示例如下。[root@node1awkdir]#awk'BEGIN{printrand()}'0.237788[root@node1awkdi......
  • 微软正在研究使 Linux 脚本更安全
    导读据悉,微软正在研究使 Linux 脚本更安全微软正在研究使Linux 脚本更安全在本周的Linux安全峰会上,systemd的创建者LennartPoettering发表了演讲,他在过去的一年中被微软雇佣,他和微软的其它工程师们正在努力提高Linux的安全性。微软的工程师发表的演讲介绍了......
  • 2023.5.31 Linux系统⽤户管理
    1.⽤户基本概述1.1⽤户相关的命令1.2⽤户创建的原理2.⽤户密码管理3.组的基本管理4.⽤户身份切换5.⽤户身份提权6.⽇志相关审计1.⽤户基本概述Linu属于多⽤户操作系统,在windows中,可以创建多个⽤户,但不允许同⼀时间多个⽤户进⾏系统登陆,但是Linux可以同时⽀持多个⽤户同时登陆......
  • 2023.5.31-Linux系统基本权限
    02.Linux系统基本权限1.权限修改命令chmod2.属主属组修改命令chown3.基础权限设置案例Linux中的⽂件或⽬录的权限和⽤户及⽤户组关联很⼤,Linux中每个⽂件或⽬录都有⼀组共9个基础权限位,每三个字符被分为⼀组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他⽤户权......
  • 掌握嵌入式Linux编程0简介
    简介多年来,Linux一直是嵌入式计算的主流。然而,涵盖这一主题的书籍却少之又少:本书旨在填补这一空白。术语"嵌入式Linux"没有很好的定义,可以应用于从恒温器到Wi-Fi路由器到工业控制单元等各种设备内部的操作系统。然而,它们都是建立在相同的基本开源软件上。这些就是我在本书中描......