MySQL面试必问:存储用户密码,char还是varchar?答案出乎意料!
MySQL 面试必问存储用户密码到底用 CHAR 还是 VARCHAR答案确实出乎大多数人意料2025~2026 年大厂面试中这个题已经成了“经典陷阱题”大多数人张口就来VARCHAR(255)因为“密码可能很长”或“习惯用 varchar”面试官微微一笑“错推荐用 CHAR而且长度要精确匹配你用的哈希算法”为什么答案出乎意料面试官最爱听的深度解释密码在数据库里从来不存明文而是存哈希值Hash。现代主流哈希算法输出的长度是完全固定的算法输出长度字符推荐字段类型说明MD532CHAR(32)老旧不推荐彩虹表攻击SHA-140CHAR(40)已不安全SHA-25664CHAR(64)常用SHA-512128CHAR(128)高安全bcrypt最推荐60CHAR(60)或BINARY(60)当前工业标准带 salt costArgon2id通常 64~128CHAR(128)最新内存硬哈希scrypt固定或可配CHAR(对应长度)-核心原因为什么必须用 CHAR 而不是 VARCHAR长度 100% 固定→ 所有值长度完全一样CHAR 是定长MySQL 直接分配固定空间不需要额外 1~2 字节存长度前缀VARCHAR 的 overhead。查询、索引、比较时更快固定宽度字段在行存储中对齐CPU 友好。性能实测差异面试官常追问在索引列上CHAR 比 VARCHAR 快约 10~20%尤其是高并发登录场景。VARCHAR 会多出长度字节 变长处理开销。空间上亿级用户表用 CHAR 反而更省无长度前缀。VARCHAR 的坑你写VARCHAR(255)实际每行多存 1~2 字节长度信息纯属浪费。容易被人误以为“密码长度可变”但哈希根本不变长。尾空格处理也不同CHAR 会 trimVARCHAR 保留但哈希里不会有空格。2026 年最推荐写法直接背面试无敌-- 最佳实践使用 bcrypt推荐CREATETABLEusers(idBIGINTPRIMARYKEYAUTO_INCREMENT,usernameVARCHAR(64)NOTNULLUNIQUE,passwordCHAR(60)NOTNULL,-- bcrypt 固定 60 字符emailVARCHAR(255)NOTNULL,created_atDATETIMENOTNULLDEFAULTCURRENT_TIMESTAMP,INDEXidx_username(username))ENGINEInnoDBDEFAULTCHARSETutf8mb4COLLATEutf8mb4_unicode_ci;更极致安全做法面试加分passwordBINARY(60)NOTNULL,-- 彻底二进制存储避免 collation 问题-- 或者passwordCHAR(60)CHARACTERSETlatin1COLLATElatin1_binNOTNULL,一句话总结面试开场 15 秒版本“密码存的是哈希不是明文。所有主流哈希算法输出长度固定所以必须用 CHAR(精确长度)而不是 VARCHAR(255)。这既节省空间无长度前缀、又提升索引和比较性能还能避免变长字段的额外开销。很多人第一反应答 VARCHAR就是因为没想过‘密码字段其实是定长’这个点。”面试官追问概率极高“不同算法长度不一样怎么办” → 精确匹配或统一用 CHAR(128) 兜底。“为什么不用 BINARY” → 可以BINARY(60) 更彻底但 CHAR 更直观易读。“bcrypt 为什么 60 位” → 格式是$2b$10$...2225359~60 字符。这个题背熟后基本没人能难住你——因为 90% 的候选人都答错了而你能说出“出乎意料”的正确答案。需要我再给你完整 bcrypt CHAR(60) 的 Java / Go / Node 插入示例性能对比基准测试 SQLArgon2 / PBKDF2 的最新长度推荐随时说 这题现在已经是 MySQL 密码安全专题的“杀手锏”了

相关新闻

水位标尺测量水位读数水位监测检测数据集VOC+YOLO格式493张60类别

水位标尺测量水位读数水位监测检测数据集VOC+YOLO格式493张60类别

注意数据集中图片大约220张是原图剩余为增强生成图片数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):493标注数量(xml文件个数):4…

2026/7/2 20:35:00 阅读更多 →
杰理之OWS音效切换【篇】

杰理之OWS音效切换【篇】

2026/7/3 8:05:19 阅读更多 →
Linux发行版选型全攻略,务必选择适合你的版本(收藏!)

Linux发行版选型全攻略,务必选择适合你的版本(收藏!)

Linux 发行版全景指南:下载地址、版本演进、选型逻辑与安装决策树(含 Ubuntu/CentOS/Debian 等深度对比) 一、问题解构 用户核心诉求可拆解为四大维度: 获取权威下载渠道:需提供各主流发行版官方、稳定、可验证的下…

2026/7/4 13:56:21 阅读更多 →

最新新闻

5个步骤搭建免费动作捕捉系统:FreeMoCap完全指南

5个步骤搭建免费动作捕捉系统:FreeMoCap完全指南

5个步骤搭建免费动作捕捉系统:FreeMoCap完全指南 【免费下载链接】freemocap Free Motion Capture for Everyone 💀✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap FreeMoCap是一个免费开源的动作捕捉系统,为所有人提…

2026/7/5 4:17:14 阅读更多 →
Day3 第二章 链表part2

Day3 第二章 链表part2

了解链表 1. 什么是链表 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)…

2026/7/5 4:17:14 阅读更多 →
聊城食品洁净车间建设指南,按加工场景适配净化板更耐用

聊城食品洁净车间建设指南,按加工场景适配净化板更耐用

聊城作为鲁西农副产品加工核心区域,形成禽肉屠宰、速冻预制菜、果蔬深加工、杂粮面点、宠物食品五大加工集群,大量新建洁净车间、老旧厂房改造需求持续增多。本地的特殊工况,也让选择板材变得复杂纠结起来。 生产线全天用水冲洗,血…

2026/7/5 4:15:13 阅读更多 →
基于TB9051FTG与MSP432的静音直流电机控制方案

基于TB9051FTG与MSP432的静音直流电机控制方案

1. 项目背景与核心需求在工业自动化、消费电子和机器人领域,直流电机控制一直是个经典课题。传统PWM调速方案虽然简单易实现,但存在明显的电磁噪声和机械振动问题——当PWM频率落在人耳可听范围(20Hz-20kHz)时,电机会发…

2026/7/5 4:13:13 阅读更多 →
Power BI热力图实战:用矩阵+条件格式驱动业务决策

Power BI热力图实战:用矩阵+条件格式驱动业务决策

1. 为什么一张“彩色表格”能成为业务决策的加速器?在Power BI里做可视化,很多人第一反应是柱状图、折线图、饼图——稳妥、熟悉、老板一眼能看懂。但真正让我在客户现场被反复追问“这个怎么做的?”“能不能再加一列?”“能不能按…

2026/7/5 4:11:12 阅读更多 →
轻量级AI智能体:安全、场景与硬件穿透的工程实践

轻量级AI智能体:安全、场景与硬件穿透的工程实践

1. 项目概述:轻量级AI智能体不是“减配版”,而是精准适配的生产力工具最近在技术圈和办公软件社群里,“养龙虾”这个词火了——它不是水产养殖指南,而是对 OpenClaw 架构下各类 AI 智能体(Agent)产品的戏称…

2026/7/5 4:11:12 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻