news 2026/4/23 15:59:33

42、UNIX 系统杂项编程实用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
42、UNIX 系统杂项编程实用指南

UNIX 系统杂项编程实用指南

1. 密码获取与验证

1.1 getpass 函数

在 UNIX 系统中,getpass函数可用于安全地获取用户输入的密码。该函数的原型为:

#include <stdlib.h> char *getpass(const char *prompt);

它的工作流程如下:
1. 打印prompt字符串。
2. 关闭终端的字符回显功能。
3. 读取用户输入的密码。
4. 恢复终端的原有模式。
5. 返回用户输入的密码,但该函数会将输入的密码截断为最多 8 个字符。

1.2 密码验证流程

获取密码后,程序会在密码文件或影子密码文件中查找用户的密码(若使用影子密码文件,程序需以超级用户权限运行)。然后将用户输入的值与盐值一起传递给crypt函数,并将结果与从密码文件中获取的值进行比较。以下是示例代码:

#include <stdlib.h> #include <crypt.h> char *typed, *encrypted; // ... encrypted = /* obtain the encrypted password */; typed = getpass("Password: "); if (strcmp(crypt(typed, encryp
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:33:52

44、ANSI C 特性与文件系统数据访问

ANSI C 特性与文件系统数据访问 1. ANSI C 预定义符号 ANSI C 提供了一些预定义符号,这些符号能为编程带来便利。 - __FILE__ :以引号字符串形式表示当前源文件。 - __LINE__ :以整数形式表示当前行号。 - __DATE__ 和 __TIME__ :以引号字符串形式给出程序编译…

作者头像 李华
网站建设 2026/4/23 11:33:49

GLM-4.6技术深度解析:200K上下文窗口如何重塑企业级AI应用场景

GLM-4.6技术深度解析&#xff1a;200K上下文窗口如何重塑企业级AI应用场景 【免费下载链接】GLM-4.6 GLM-4.6在GLM-4.5基础上全面升级&#xff1a;200K超长上下文窗口支持复杂任务&#xff0c;代码性能大幅提升&#xff0c;前端页面生成更优。推理能力增强且支持工具调用&#…

作者头像 李华
网站建设 2026/4/23 13:01:02

贴吧Lite:轻量级贴吧客户端的极致体验指南

贴吧Lite&#xff1a;轻量级贴吧客户端的极致体验指南 【免费下载链接】TiebaLite 贴吧 Lite 项目地址: https://gitcode.com/gh_mirrors/tieb/TiebaLite 还在为官方贴吧应用的卡顿和广告烦恼吗&#xff1f;贴吧Lite作为一款专为追求纯净体验的用户打造的轻量级客户端&a…

作者头像 李华
网站建设 2026/4/23 13:12:37

AI工程实践指南:从基础模型到企业级应用的完整框架

AI工程实践指南&#xff1a;从基础模型到企业级应用的完整框架 【免费下载链接】aie-book [WIP] Resources for AI engineers. Also contains supporting materials for the book AI Engineering (Chip Huyen, 2025) 项目地址: https://gitcode.com/GitHub_Trending/ai/aie-b…

作者头像 李华
网站建设 2026/4/23 13:18:20

Midori浏览器终极指南:轻量高效WebKit内核的完整评测

Midori浏览器终极指南&#xff1a;轻量高效WebKit内核的完整评测 【免费下载链接】core Midori Web Browser - a lightweight, fast and free web browser using WebKit and GTK 项目地址: https://gitcode.com/gh_mirrors/core78/core 在当今浏览器市场竞争激烈的环境下…

作者头像 李华