讲师中心 微信公众号
AI工具推荐 视频效率加速

awk中怎么使用内置函数length筛选出长度异常的敏感密码字段

秋瑶大大_6543

秋瑶大大_6543

发布时间:2026-08-26 11:04:08

|

186人浏览过

|

来源于php中文网

原创

awk中length()函数用于字符串长度筛查,可识别空密码、过短(<6)、超长(>64)、纯数字等异常密码,结合正则和条件判断实现多维度初步检测,但仅作辅助分析不替代密码强度校验。

awk中怎么使用内置函数length筛选出长度异常的敏感密码字段

在 awk 中,length() 是获取字符串长度的内置函数,常用于检查字段是否过短或过长——这对识别潜在的弱密码或异常密码字段(如空值、单字符、超长乱码)非常实用。注意:awk 本身不加密也不校验密码强度,它只做长度层面的初步筛查。

用 length() 检查密码字段是否为空或过短

假设日志或 CSV 中密码在第 3 列(例如:user,uid,password),可筛选长度小于 6 的记录(常见弱密码阈值):

awk -F',' 'length($3) < 6 {print "短密码:", $0}' file.csv

说明:

  • $3 表示第三字段(密码列),确保字段分隔符 -F 设置正确(如逗号、制表符等)
  • length($3) 返回字符串实际字节数(对 ASCII 密码即字符数;含中文/UTF-8 多字节时需注意,GNU awk 4.2+ 支持 length($3) 按字符计,但默认 locale 下可能仍按字节)
  • 空字符串 length("") == 0、单字符 length("a") == 1 都会被捕获

排除空白和纯空格密码

仅靠 length($3) 无法区分 " "(空格)和真正空值。需先去空再判断:

awk -F',' '{pwd = $3; gsub(/^[ \t\n\r]+|[ \t\n\r]+$/, "", pwd)} length(pwd) == 0 {print "空白密码:", $0}' file.csv

关键点:

  • 用 gsub() 去掉首尾空白(包括空格、制表符、换行、回车)
  • 对清理后的 pwd 取 length(pwd),为 0 即判定为无效密码
  • 避免误报:原始 $3 可能是 " 123 ",清理后是 "123",length=3 → 属于短密码,但非空白

检测超长密码(防填充或编码异常)

某些系统限制密码最大长度(如旧版 Linux PAM 默认 8–16 字符),超长可能表示 Base64 编码错误、日志截断残留或恶意填充:

awk -F',' 'length($3) > 64 {print "超长密码(疑似编码/填充):", $0}' file.csv

建议阈值参考:

  • 明文密码:一般 ≤ 64 字符(如 bcrypt 哈希前原文通常不超此限)
  • Base64 编码密码:长度应为 4 的倍数,且原始字节数 ≈ length×0.75;若出现非 4 倍数长度,可能损坏
  • 可叠加检查:length($3) > 64 && length($3) % 4 != 0 筛选可疑 Base64

结合多条件一次性筛查异常密码

把空、过短、超长、全数字等常见风险合并输出:

awk -F',' '
{
  pwd = $3
  gsub(/^[ \t\n\r]+|[ \t\n\r]+$/, "", pwd)
  l = length(pwd)
}
l == 0 {print "【空】", $0; next}
l < 6  {print "【过短】", $0; next}
l > 64 {print "【超长】", $0; next}
pwd ~ /^[0-9]+$/ {print "【纯数字】", $0}
' file.csv

说明:

  • 每个条件独立判断,用 next 避免重复匹配
  • pwd ~ /^[0-9]+$/ 是正则匹配纯数字密码(典型弱密码)
  • 实际使用中,建议先导出异常行再人工复核,不直接用于生产环境密码拦截

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3910

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3353

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2513

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6050

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5702

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3353

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2845

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3059

2023.07.25

C++运算符基础入门
C++运算符基础入门

本专题详细讲解了C++运算符的类型、语法与使用方法,涵盖算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符及其他特殊运算符,并通过代码示例解析优先级与结合性。

0

2026.10.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Perl 入门教程
Perl 入门教程

共29课时 | 31.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn