• 请不要在回答技术问题时复制粘贴 AI 生成的内容
int64ago
V2EX  ›  程序员

登录的时候为什么基本都需要用户名?

  •  
  •   int64ago ·
    int64ago · Aug 14, 2015 · 14826 views
    This topic created in 4107 days ago, the information mentioned may be changed or developed.

    直接一个密码不就可以了
    如果可以做到每个人的密码是唯一的,登录的时候输入用户名就是多余的操作了
    当然,我只是说登录的时候可以不输入,并没有说用户名本身没必要

    所以,我看来唯一的难点就是密码唯一,其实做到这点也不会很难

    我也考虑过撞库的情景,其实考虑下也不成立,撞(密码)库和撞(用户名+密码)库难度差异真的很大吗?

    好吧,换一个情景,就是登录的时候只有一个框框,用户名和密码一起输入,把这里的(用户名和密码)当作(密码)不可以吗?--->仅仅是举个例子

    你们怎么看这个问题的呢?

    Supplement 1  ·  Aug 14, 2015
    我脑中的场景是类似:
    注册的时候系统返回随机不重复的密码
    网站都只有一个密码框
    各个网站的密码保存在 LastPass 之类
    (登录成功后,可以得到完整的用户信息,不存在无法辨认或者 at 的情况)

    我只是提一种想法,顺便看看大家的想法
    136 replies  •  2016-02-08 17:38:40 +08:00
    1  2  
    ❮ ❯
    SeanChense
    SeanChense
    Aug 14, 2015
    101
    请告诉我每次发帖必上热门的窍门。
    ooh
    ooh
    Aug 14, 2015
    102
    虹膜就不需要
    xifangczy
    xifangczy
    Aug 14, 2015
    103
    用户名是确认你身份 密码确认身份正确。不能少,只有变相的,比如openID...
    julyclyde
    julyclyde
    Aug 14, 2015
    104
    如果是撞组合,那肯定是故意破解
    如果只撞一个单因素(只有密码无用户名)那有可能是碰巧
    minotaur
    minotaur
    Aug 14, 2015
    105
    lz赶紧去做产品经理吧,拯救中国互联网就靠你了
    wangyoang
    wangyoang
    Aug 14, 2015
    106
    哈哈,这个问题前几天脑洞开刚想过,结果被好基友好一顿训。
    julio867
    julio867
    Aug 14, 2015
    107
    这个问题应该不止楼主一个人这么想,全世界应该有大量的产品经理想过这个问题;但是为什么没有用,自然有其道理;既然楼主想到了,可以自己尝试去做一个这样的系统出来,让大家用用到底好不好,而不是在这里这么去讨论,即使有100W个回复,这个讨论最终也没有意义;但是不能扼杀楼主的想象力····
    18000rpm
    18000rpm
    Aug 14, 2015
    108
    @wclebb +1
    一个输入框完全能传递两个输入框的信息量。用户名密码分开只是把一个长字符串分成了两个短字符串,对破解难度也没有任何影响。
    前排好多人差点把我绕进去。。
    ipv6nxtgnwrt
    ipv6nxtgnwrt
    Aug 14, 2015
    109
    验证一个用户是否确实是他所声称的身份,如果没有任何声称的身份,如何验证是否是他自己?
    18000rpm
    18000rpm
    Aug 14, 2015
    110
    @ipv6nxtgnwrt

    比如 V2EX 登陆页面改成一个输入框,用户名密码用逗号分割。
    输入:Livid,Password

    然后后台分割有难度?
    yushaw
    yushaw
    Aug 14, 2015
    111
    之前想过了... 这事 过几年了等线上线下身份统一之后靠谱

    比如说物联网普及,生物识别
    aosp
    aosp
    Aug 14, 2015❤️1
    112
    @18000rpm

    现在向后台传的都是密码的md5,你那是要把带逗号的明文传给后台?
    yushaw
    yushaw
    Aug 14, 2015
    113
    不过其实也是分好几个字段拼在一起,比如A区域特征+B区域特征+C区域特征,然后混在一起。

    但是现阶段在用户体验上来说,字段间分开肯定是最好的
    fo2w
    fo2w
    Aug 14, 2015
    114
    任何事情都有一个看似简单的错误解
    18000rpm
    18000rpm
    Aug 14, 2015
    115
    @aosp
    那在前端分割出密码,md5 后传到服务器。这和两个输入框有什么区别。。
    而且刚试了 V2EX 登陆现在就是明文啊。
    bdbai
    bdbai
    Aug 14, 2015 via iPhone
    116
    @aosp https
    lavadore
    lavadore
    Aug 14, 2015
    117
    @18000rpm 一个输入框带来什么好处?用户现在连自己输入用户名都看不到了,还要自己记得加分隔符把用户名密码分开。我能想到的唯一好处就是不用敲tab键了
    rockxie
    rockxie
    Aug 14, 2015
    118
    现在很多虚拟币的在线钱包,都是直接输入密钥字符串就行了,当然,字串比较长,多达十几个英文单词。
    larsenlouis
    larsenlouis
    Aug 14, 2015
    119
    我来开一下脑洞。web的登录身份验证都有一个通用的接口,像ssh密匙公密匙认证那样。就好比是cookies,网站可以读取。用户只要同意使用这个密匙就能登录了。
    JasperW
    JasperW
    Aug 14, 2015 via iPhone
    120
    那么问题来了,我随便输入一串密码,就登陆成功了?怎么解
    stupil
    stupil
    Aug 14, 2015
    121
    如果减少输入,为什么不一个框输入2次。

    先输入username 回车
    然后提示输入 pwd 再回车。

    输错了?

    错了就再输呗。
    typcn
    typcn
    Aug 14, 2015
    122
    @18000rpm

    反着来啊!

    前端还是用户名和密码

    后端用 用户名|密码 进行 hash 保存
    invite
    invite
    Aug 14, 2015
    123
    想法很好,不过使用用户名,密码,比较符合人类的习惯,因为习惯上,用户名和密码功能是不一样的,一个是身份识别,一个是身份验证。用户名表明你是谁,密码证明你是谁。
    des
    des
    Aug 14, 2015 via Android
    124
    我只说一点,更短的东西有利于记忆。如果考虑密码包含用户身份的话。
    如果只是一个token的话,那就必须考虑碰撞,如果考虑碰撞,那么这个token必定不利于记忆。
    sunmonster
    sunmonster
    Aug 14, 2015
    125
    如果返回一个唯一随机密码,那么就是说让用户去记住一个随机密码?或者说让每个用户都用lastpass? too yong too simple
    wd0g
    wd0g
    Aug 15, 2015
    126
    现在用第三方登录比较安全,但是还有个缺点,万一第三方突然把你登录的接口关了,就over了~~
    记得以前有个网站,用的新浪的登录接口,直接登录
    然后新浪就关闭这个网站的接口,据说丢失了几万的用户~~~
    18000rpm
    18000rpm
    Aug 15, 2015
    127
    @lavadore
    用户体验上的好处确实有待商榷。

    我主要是想喷前面那些说降低了破解难度的人。
    如果 LZ 的意思是登陆功能形式上只用一个输入框,完全可以在逻辑上保留现有的“用户-密码”结构。看不出安全性上有什么不妥。
    lavadore
    lavadore
    Aug 15, 2015
    128
    @18000rpm 楼主的原意是不需要用户名,楼上喷的也是针对这种情况。你说的场景就是把两筐合一,破解难度当然没有变化,但这不是楼主所表达的情景
    18000rpm
    18000rpm
    Aug 15, 2015
    129
    @lavadore 确实我也感觉理解的不是一个意思 233
    lincanbin
    lincanbin
    Aug 15, 2015 via Android
    130
    OAuth啊
    palytoxin
    palytoxin
    Aug 15, 2015 via iPhone
    131
    我有一个疑问,比如说有好几个人的生日都是00年1月1号。然后这些人设置密码都是000101。现在我输入这个登陆,你说我登谁的
    proudzhu
    proudzhu
    Aug 15, 2015 via Android
    132
    LZ 的问题在于想得太多,但书读的太少
    zjl03505
    zjl03505
    Aug 15, 2015
    133
    为什么这个问题在「程序员」下!
    skyshy
    skyshy
    Aug 15, 2015
    134
    请问该如何找回密码? 当你这样一个密码而且你忘记了
    panzhc
    panzhc
    Aug 16, 2015
    135
    内部系统可以用token,我们就是这么实现的,不过不适合需要人类记忆的场景。密码本来就是反人类的,期待生物识别技术和安全的完善,单因子验证一定会实现的。
    ysoserious
    ysoserious
    Feb 8, 2016
    136
    @int64ago 如果密码足够长且足够复杂的话,被爆破的可能性几乎十分小,然而那种密码十分难记- -在这种情况下,用户必然用软件去记住密码,就像你说的 1password 等。也恰恰是在这种情况下,加上账户验证与否对普通用户来说是没有区别的,但是对于 hacker 来说多一道验证就多一道坎。

    另外,你要实现密码的唯一性,不可能让用户自定义密码吧,最多也是用户申请更改密码,然后密码还是由你们的算法生成的,在一定程度上有算法被破解的可能,定期更换算法的同时用户也要定期更换密码才行,与此同时,你还得保证新算法产生的密码不能与数据库中存在的撞库。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   928 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 100ms · UTC 21:58 · PVG 05:58 · LAX 13:58 · JFK 16:58
    ♥ Do have faith in what you're doing.