当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/86486/

相关文章:

  • VideoDownloadHelper终极使用指南:轻松下载网络视频的完整教程
  • 43、UNIX编程:正则表达式、国际化与ANSI C的变革
  • 腾讯开源SongGeneration:用AI技术让每个人都能创作专业级音乐
  • 44、ANSI C 特性与文件系统数据访问
  • 45、UNIX文件系统数据结构访问详解
  • 腾讯开源Hunyuan-7B-Instruct-AWQ-Int4:轻量化大模型部署新时代
  • ScienceDecrypting:学术文献格式转换的终极解决方案
  • 47、《/proc文件系统与伪终端技术解析》
  • OpenRGB技术深度解析:跨平台硬件灯光统一控制解决方案
  • PvZWidescreen:让经典游戏完美适配现代宽屏显示器
  • Cmder完整使用指南:打造Windows最强命令行终端
  • 2025效率革命:Qwen3-8B-AWQ双模式切换重塑企业AI部署范式
  • ElasticJob云原生部署终极指南:分布式任务调度的完整解决方案
  • AndroidGen-GLM-4-9B:无标注训练开启安卓智能体自动化新时代
  • 3D建模革命:nerfstudio与Blender自动化流程重塑创作效率
  • CVAT终极部署指南:5分钟构建专业级计算机视觉标注平台
  • GLM-4.6技术深度解析:200K上下文窗口如何重塑企业级AI应用场景
  • BG3ModManager终极指南:轻松打造专属博德之门3游戏体验
  • 如何构建高性能移动端下载引擎:架构优化深度解析
  • 快速上手DellFanManagement:免费开源风扇控制工具完全指南
  • debug.js调试工具完整使用指南
  • 终极iOS评论系统:5大核心功能深度解析与实战指南
  • 从零到一:nerfstudio让普通人也能玩转3D建模的终极指南
  • 53、Ext2和Ext3文件系统详解
  • 2025年技术学习的5个高效方法:从概念到实践的完整指南
  • 240亿参数推理神器Magistral Small 1.1:个人设备就能跑的多语言逻辑大师
  • 54、Ext2文件系统:内存数据结构、创建及磁盘空间管理
  • ERNIE 4.5-VL-424B-A47B:百度异构MoE架构重塑多模态大模型效率边界
  • 55、Ext3文件系统:日志功能解析与应用
  • QOwnNotes窗口设置终极指南:5分钟掌握界面美化技巧