zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    12:00的死亡游戏
    数字图像的5种增强处理
    评分系统
    学生信息的检索
    读心球游戏
    图像的中值滤波处理
    山西省高考成绩的排次系统【可查询成绩改正和将作弊成绩去除】
    打印总分与各科成绩单
    各城市地形图的分幅与编号查询系统
    在Visual Studio中利用NTVS创建Pomelo项目
  • 原文地址:https://www.cnblogs.com/wangliangblog/p/7325819.html
Copyright © 2011-2022 走看看