登录的时候为什么基本都需要用户名? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
int64ago

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

  •  
  •   int64ago
    int64ago Aug 14, 2015 13577 views
    This topic created in 3909 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  
    niinaranpo
        1
    niinaranpo  
       Aug 14, 2015
    如果只是有密码,那么我注册的时候提醒我已被注册,那么我不就是知道了别人的密码。。。
    intellectual
        2
    intellectual  
       Aug 14, 2015
    要确定你是谁啊,你不说你是谁我咋知道你是谁呢?如果我真猜到了,你害怕不?
    zhicheng
        3
    zhicheng  
       Aug 14, 2015
    用户名存明文,密码存摘要,此贴已结。
    int64ago
        4
    int64ago  
    OP
       Aug 14, 2015
    @niinaranpo 是啊,这就是我说的密码唯一难点,注册的时候系统返回随即密码(当然不是靠人来记忆)
    int64ago
        5
    int64ago  
    OP
       Aug 14, 2015
    @intellectual 用户名是存在的,只是不在登录的时候输入而已
    intellectual
        6
    intellectual  
       Aug 14, 2015
    密码为一好想法,可能实现起来有点远吧,那还不如别说是密码改说ID的了
    如果是ID了,那还挺恐怖的诶
    int64ago
        7
    int64ago  
    OP
       Aug 14, 2015
    @intellectual 我想起团购刚出来的时候,券基本都是用户名+密码的形式发放
    现在就基本一个兑换用的号
    leavic
        8
    leavic  
       Aug 14, 2015
    光有key,没有value,那怎么查找。一个论坛里面,@后面不接用户名都直接@ 密码?
    intellectual
        9
    intellectual  
       Aug 14, 2015
    @int64ago 现在有些界面貌似是这样,部分情况下出现这样的界面,比如Google上触发安全操作之类相关,但是这不是第一次登陆的时候啊,他们这时候的界面还是表示一下当前用户的身份的
    leavic
        10
    leavic  
       Aug 14, 2015
    错了,光有value,没有key。
    Perry
        11
    Perry  
       Aug 14, 2015 via iPhone
    1 楼已经彻底终结了
    撞密码和撞用户名密码完全不是一个级别的
    intellectual
        12
    intellectual  
       Aug 14, 2015
    @int64ago 那不是绑着其他信息了么,例如手机号啊啥的
    int64ago
        13
    int64ago  
    OP
       Aug 14, 2015
    @intellectual 肯定啊,注册的时候肯定需要邮箱或者手机,我一开始就强调是的登录过程
    intellectual
        14
    intellectual  
       Aug 14, 2015
    说不清,感觉你的观点不停的在变
    eary
        15
    eary  
       Aug 14, 2015
    撞密码那感觉太容易了
    CuminLo
        16
    CuminLo  
       Aug 14, 2015
    咋一看觉得是挺方便的,但是用户名+密码已经被大家给习惯了,突然来个只要密码,我就会觉得这个网站有问题。
    Strikeactor
        17
    Strikeactor  
       Aug 14, 2015
    密码短了吧,别说故意,不小心输错一个可能都进别人帐户了
    密码长了吧,你这用户体验估计是负的。。
    yeyeye
        18
    yeyeye  
       Aug 14, 2015   2
    问这么多为什么干嘛 解释这么多为什么干嘛

    你现在去做一个站,就这样实现,然后看看是骂得多还是赞得多,实现过程中你才会发现自己的想法有多反人类。

    你可以反人类,但是别人不反人类也不是错啊
    msg7086
        19
    msg7086  
       Aug 14, 2015 via Android
    而且这种设计也不是没有。
    天凤就是凭密码登录,密码是随机生成,忘了密码就重练吧。
    ETiV
        20
    ETiV  
       Aug 14, 2015 via iPhone
    用户名的作用是授权,密码的作用是验证
    em70
        21
    em70  
       Aug 14, 2015 via Android
    干嘛非得是字符串密码,用指纹识别就能达到LZ的废除用户名的目的
    Yvette
        22
    Yvette  
       Aug 14, 2015
    Gmail 就是这么做的,但是有条件限制
    datou552211
        23
    datou552211  
       Aug 14, 2015 via iPhone
    公匙私匙
    lightening
        24
    lightening  
       Aug 14, 2015
    @int64ago 你说的这种系统随机生成的 “密码” 叫 token,两边都是机器的地方有的就是用 token 验证身份的。不过,现在密码主要还是给人用的,人要能自己设置密码,那就必须得有用户名这个东西了。
    ljbha007
        25
    ljbha007  
       Aug 14, 2015
    随便注册个号 找出你密码命名规则 然后暴力破解 随随便便几百万个帐号到手
    dndx
        26
    dndx  
       Aug 14, 2015
    LZ 说的这种情况技术上有可能,但是密码显然不能让用户自己输了。

    128 位的随机生成的 Key 就可以了。
    yangqi
        27
    yangqi  
       Aug 14, 2015
    密码是用来验证用户的,不能用来定位用户的,根本没办法的啊。另外一个输入框的情景,你怎么分割用户名和密码?
    xmoon
        28
    xmoon  
       Aug 14, 2015
    这已经不是密码 而是像cookie了 你这和直接保存cookie有啥区别?
    xierch
        29
    xierch  
       Aug 14, 2015
    各种充值卡就是嘛..

    要用户设置密码也成,想个办法计算「密码相似度」,禁止两个用户使用过于相似的密码
    xierch
        30
    xierch  
       Aug 14, 2015
    比如说规定密码最少 16 位
    定义前 8 位相同的密码为「相似」
    (实现上,可以前 8 位与其余密码分开储存
    这就等效于 8 位用户名 + 8 位及以上密码的常规方案了,至少没有安全问题
    konakona
        31
    konakona  
       Aug 14, 2015
    你也可以刷脸啊
    yangqi
        32
    yangqi  
       Aug 14, 2015
    @xierch 不需要知道用户名就可以随便试密码,还没有安全问题?

    另外你这个方案分开存储的话和用户名有什么区别?就是为了把两个输入框合并而把问题复杂化?
    xierch
        33
    xierch  
       Aug 14, 2015
    哦我想了一下,好像也不太对 233
    限制前 X 位密码不能相同,反而降低了安全性(可以分段试密码了)
    唯一的好处就是解决了如何加 salt hash 的问题
    pimin
        34
    pimin  
       Aug 14, 2015   1
    与其说免用户名登陆不如说是免密码登陆。
    主要问题是是否能解决用户输入的问题。
    当前基本的输入方案还是键盘,自定义用户名密码便于记忆,输入。
    如果没有可以解决键盘是基本输入的成熟方案,基本上也不存在挑战当前用户名\密码体系的可能。
    至于lastpass/keepass之类只是解决了记忆的问题,并没有解决输入方式的问题。

    生物验证可能是一个方向,但是我觉得太长远了才能普及到方方面面。

    更倾向于通过统一标准认证,比如browse-userid,假设基于所有浏览器都支持一个ID,这个ID基于登录用户。比如Chrome/Firefox用户通过同一个邮箱登录之后,产生相同的ID,这个ID可以提供给网站检,当然这个ID只能是用作身份识别,鉴权需要另外管理的。
    xierch
        35
    xierch  
       Aug 14, 2015
    @yangqi 我刚才的想法是,8 位用户名 + 8 位密码 与 16 位密码之间没有区别
    甚至更安全,因为「用户名」也要试了...

    不过其实不对,
    8 + 8 的情况,用户会使用两套逻辑来设置用户名和密码...
    如果把 16 位密码看成一个整体,很可能更容易设置出弱密码
    pimin
        36
    pimin  
       Aug 14, 2015
    @xierch
    类似于充值卡/软件验证码之类其实是相对靠谱的。
    拿windows的KEY来说,20位固定长度。
    难度来说我觉得主要问题还是如果用户没有用lastpass之类的管理软件,如和完成输入。
    yurited
        37
    yurited  
       Aug 14, 2015
    不应该存储密码,这样也就无法知道用户的新密码是否和旧密码重复
    Huadb
        38
    Huadb  
       Aug 14, 2015 via iPhone
    手机注册呗,密码都不需要,登陆的时候发你一个验证码
    welly
        39
    welly  
       Aug 14, 2015 via iPhone
    过来支持一下。估计是用1password用出的习惯
    kalintw
        40
    kalintw  
       Aug 14, 2015
    好比:楼主有个身份证号码,还要名字干嘛?
    zado
        41
    zado  
       Aug 14, 2015
    顺便做个广告,我的 http://zxxq.sinaapp.com/ 就是这么设计的,直接密码就可以登录,不需要输入用户名。当然,不同的密码代表不同的用户。相同的用户名,不同的密码,也代表不同的用户......
    zhujinliang
        42
    zhujinliang  
       Aug 14, 2015 via iPhone
    天凤麻将就是类似的,不过人家那个框叫昵称,如果你没注册,随便输个名,对战时就是这个名,如果你注册了,系统会给你串代码,登陆时昵称里要填这个代码
    msg7086
        43
    msg7086  
       Aug 14, 2015
    @zhujinliang 没注册不是直接NN大人么
    dikcen
        44
    dikcen  
       Aug 14, 2015
    其实啊,我也有过相同的想法。可是,如果密码(一组包括用户名和密码的字符串)忘了怎么办,类似身份证丢了人怎么办?所以,身份是身份,身份证明是身份证明,两者还是应该分开的。
    iloahz
        45
    iloahz  
       Aug 14, 2015
    这种方案的问题的根本不在于“撞密码更容易”嘛。。。
    wy315700
        46
    wy315700  
       Aug 14, 2015
    username是身份认证
    password是访问控制
    uleh
        47
    uleh  
       Aug 14, 2015 via iPhone
    lz 的想法完全可行,但是现阶段由于各种成本问题无法普及。
    解决方案可以是类似网银的电子证书、u盾,或者苹果的 Touch ID 等等。
    imn1
        48
    imn1  
       Aug 14, 2015   1
    完全是开国际大玩笑~
    密码区别用户是极不安全的,绝对!!!!!!!!!!!!!!!!!!!!!!
    超级重要的事情要加多几个感叹号
    因为你这样几乎不存在输入“错误”的密码

    假如我的密码是
    abcdefghijklmnopqrstuvwxyz
    另一个完全陌生人的密码是
    abcdefghijklmnopqrstuvwxy_

    我直接输入后者,贵站如何判断我不是这个陌生人??
    你这思维跟支付宝一个德行!

    不能判断的话,换言之我用“错误”的密码,就登入了别人的帐号了!!!!!!!!!!!!!

    这样的话,黑客是一定会主动“输入错误”的
    jugelizi
        49
    jugelizi  
       Aug 14, 2015   1
    啧啧 你咋这么聪明呢
    fwings260
        50
    fwings260  
       Aug 14, 2015
    @imn1 支付宝干啥挫事了?
    realpg
        51
    realpg  
    PRO
       Aug 14, 2015
    我觉得,楼主你说的这种东西,叫客户端证书……
    zhjits
        52
    zhjits  
       Aug 14, 2015
    用户名和密码一起输入,撞库的可能性远大于分开输入。
    ABCDEF 可以对应 用户名 A,密码 BCDEF;用户名 AB,密码 CDEF 等状。
    imn1
        53
    imn1  
       Aug 14, 2015
    @fwings260
    支付宝仅以设备环境区分账户自然人的思维
    wy315700
        54
    wy315700  
       Aug 14, 2015
    @imn1
    设备代表人是目前安全界的一个趋势,看看最新论文
    cc7756789
        55
    cc7756789  
       Aug 14, 2015
    首先:
    网站怎么鉴别一个用户的身份,如果你改了密码的话?
    注册时自动给密码分配一个用户名?那么和用户名、密码的机制有区别吗?
    如果数据库被盗了,盗窃者把你密码改了,你的帐号是不是就凭空消失了?

    这个产品密码输错几次限制登录?如果像银行一样输错3次限制登录,那么你自己输错了怎么办?
    如果没有太多的限时,是否一个几十行人人都会写的Python脚本就可以无限测试密码?
    如果我恰好输错了我的密码,但是输对了你的密码,那这个网站安全机制是逗B吗?
    如果我输入注册时候输入密码,告诉我此密码已被分配。。。。


    你的想法应该是类似于视网膜,指纹识别,但那个是人特有的并且很难复制的东西。而密码不是,即使用户名和密码都有的账户都可能被枚举出,别说只有一个密码了。
    anyforever
        56
    anyforever  
       Aug 14, 2015
    如果用生物指纹的话,那就可以实现你这个想法了。
    可以看下洋葱,奶罩的新项目
    zdkmygod
        57
    zdkmygod  
       Aug 14, 2015
    最主要还是安全性不够吧。
    binjoo
        58
    binjoo  
       Aug 14, 2015
    @pimin 充值卡因为不是属于谁,任何人得到了都可以使用,因为他本来就是一个商品。
    但是密码不同,密码是属于个人的,如果被别人知道了,登陆咋办?
    (排除帐号买卖的情况)
    fwings260
        59
    fwings260  
       Aug 14, 2015
    @imn1 还有密码或者指纹呀?而且超过200支付也要输密码或者指纹呀?这个貌似没啥问题吧。。。
    sdrzlyz
        60
    sdrzlyz  
       Aug 14, 2015
    @int64ago 你举google的例子说输入用户名后弹出来那个是应为你在那个浏览器登录过。。。
    binjoo
        61
    binjoo  
       Aug 14, 2015
    @realpg 证书其实就是用户名。。
    tobyxdd
        62
    tobyxdd  
       Aug 14, 2015 via Android
    有些tplink路由的web管理就是这样的。。但那不存在不同账户的问题
    lishali12345
        63
    lishali12345  
       Aug 14, 2015
    @anyforever 恩,这个项目的想法不错,未来应该空间很大,安全是一个新的基础服务成长点
    popok
        64
    popok  
       Aug 14, 2015 via iPhone
    这种情况只适合注册时系统自动生成随机密码,且密码一部分是做校验用,看那种手机充值卡就行。
    不适合用户自定义密码,不然输错一位就可能进别人账户了。
    sujin190
        65
    sujin190  
       Aug 14, 2015
    如果用户量比较大,像微信,那么对于人可记忆的范围来说恐怕随便输入一个什么就登陆了某人的账号了吧
    qinxg
        66
    qinxg  
       Aug 14, 2015
    觉得楼主说的更像是AccessToken
    但获取AccessToken的前提是完成了身份验证 所有又绕回去了
    imn1
        67
    imn1  
       Aug 14, 2015
    @wy315700
    这个趋势没问题,我google账户也是这样选择相信独特设备的(不需二次认证)
    问题是必须账户持有人确认他相信那个设备,而不是强制相信!!!!!!!!!!!!!!!!!
    如果设备是支付宝出品的,自动相信设备没问题,例如什么盾,但手机不是
    算了,不歪楼了,支付宝的问题其他地方讨论吧
    chinawrj
        68
    chinawrj  
       Aug 14, 2015
    密码可能是一样的,我觉得。。。你可以检测用户名是否重复。那是不是也要检测一样密码是不是重复呢?太搞笑了这样
    F1ReKing
        69
    F1ReKing  
       Aug 14, 2015
    脑洞大开啊
    UnderIndex
        70
    UnderIndex  
       Aug 14, 2015
    亚马逊的ssh登陆就是给你一个pem文件(相当于一个密码)。类似还有很多
    otakustay
        71
    otakustay  
       Aug 14, 2015
    楼主的想法一点也没错,Touch ID不就是这么个东西吗
    很多人反对的原因是密码冲突,其理论是(用户名+密码)的冲突率远小于(密码)单项的冲突率
    但是当密码并不是人为输入,而是系统生成的时候,两者的冲突率虽然有差距但可以都控制在一个“几乎不可能冲突”的范围内,完全能合理应用
    pythoner
        72
    pythoner  
       Aug 14, 2015
    楼主你自己动手实践一下不就什么都明白了
    不会编程语言?学啊!
    不懂数据库?学啊!
    unknownservice
        73
    unknownservice  
       Aug 14, 2015
    脑洞太大不知道如何吐槽,你能不能做一个出来大家看看再谈下面的?
    imn1
        74
    imn1  
       Aug 14, 2015
    Login Password:1
    You are logged in as imn1
    没钱?这抠门的家伙~走
    You are logged out

    Login Password:2
    You are logged in as 程序员
    一块钱?程序员这么穷啊?走
    You are logged out

    ……

    Login Password:dkwejs$&703VJND>
    You are logged in as int64ago
    哇!这个是大富豪(口水淌一地)~
    ……
    yyork
        75
    yyork  
       Aug 14, 2015 via iPad
    n和n平方的差别
    qecxp
        76
    qecxp  
       Aug 14, 2015
    浪费时间,block
    linescape
        77
    linescape  
       Aug 14, 2015
    除非密码是系统生成的,且不能更改,像cdkey一样
    jarlyyn
        78
    jarlyyn  
       Aug 14, 2015
    楼主万一密码忘记的话准备怎么找回》
    int64ago
        79
    int64ago  
    OP
       Aug 14, 2015
    @linescape 是这个意思,其实可以更改的,填邮箱,系统再随机返回一个

    PS:楼上太多都略激动,没了解我的意思就……唉,懒得回复了,V2 风气
    publicID321
        80
    publicID321  
       Aug 14, 2015   1
    LZ 说的这种登录方式(仅用一个密码就可以)是存在的:
    https://blockchain.info/wallet/login
    zjf
        81
    zjf  
       Aug 14, 2015
    Dollars...
    publicID321
        82
    publicID321  
       Aug 14, 2015   1
    你可以打开
    https://blockchain.info/wallet/login (一个比特币钱包的网站)
    然后在 密码的地方输入
    df4b1055-3ee2-4846-a5db-3fb8e53823d7
    登录即可

    [0]: 这的确是用一个密码来登录。不需要你输入用户名,也不需要你记忆用户名(因为根本不是涉及用户名)

    [1]: 它相当于二次验证:用一个密码 xxx-xxx-xxx-xxx ,来激发二次验证(给你的邮箱发邮件,只有能进入你的邮箱的人才能查看 whichis basically you ),若验证成功则可登入。

    [2]: 此处,二次验证的激发器是你的个人邮箱(用你的邮箱做二次验证,而不是 Google Authenticator 这种 动态密码的高级玩意 )

    [3]: 如果换个角度,把传统的 「用户名-密码」看作静态密码,把 中国移动的短信密码 或 Google Authenticator 那种 当作动态密码,那么 LZ 说的这个办法 就相当于半动态密码。
    安全性:动态密码 > 半动态密码 > 静态密码。

    [4]: 方便性是相反的。方便性:动态密码 < 半动态密码 < 静态密码。

    [5]: 破译和撞库的难度:
    破解难度:动态密码 >> 半动态密码 > 静态密码

    [6]: 其实还有一种办法:参考验证邮件链接

    验证邮件链接:
    假如你想注册一个网站,让你的邮箱作为ID,在每次注册网站之初,大部分网站都会给你的邮箱发一个邮件,让你验证邮箱,邮件里有一个链接,点这个链接就可以验证成功;必须在1天点击那个验证邮箱的链接,否则过期就失效了

    这种 验证链接 就可以作为登录器啊:
    1. 在登录某网站的时候,你输入你的 密码 ( password, token, identifier )
    2. 某网站给你的邮箱发一封电子邮件,邮件里包括了一个链接,点这个链接就可以 以 logged in 的状态进入网站
    3. 这个链接会在 5 分钟内自动失效
    4. 你登录网站之后,如果无操作 5 分钟,则自动记录为 logged out 状态


    P.S.
    df4b1055-3ee2-4846-a5db-3fb8e53823d7 这串东西来自于网页
    http://studybtc.com/2014/03/12/blockchain-info在线钱包使用方法/
    publicID321
        83
    publicID321  
       Aug 14, 2015
    网站的数据库里,只有 xxx-xxx-xxx-xxx ~ [email protected] ,根本没有和「登录凭证」有关的栏位。
    即使被盗被脱库被公开,唯一泄露的就是 [email protected]

    如果你没有关于「登录凭证」的设计,那么你的网站就永不怕黑客来脱库。当然安全性是高的、代价是方便性是低的。
    imn1
        84
    imn1  
       Aug 14, 2015   1
    我觉得你还是进一步把你的设想阐述清楚好,而不是一句“V2 风气”
    觉得我激动可以不理,但其他理智的人还很多,我不喜欢block,因为我觉得人与人大部分问题只是沟通不畅,如果连沟通都跳过了,那就只剩下互相不齿了

    以你目前的描述,是难免让人“理解错误”的,因为都没提及身份识别的过程
    你附言所提的“lastpass之类”是否就指证书、私匙之类?如果是,那就是另一种情况
    例如 PT 种子,就是一种“私匙”,直接使用连密码都省了
    使用私匙的情况下,手动输入密码反而成为二步验证,更安全了,性质完全不同
    anubiskong
        85
    anubiskong  
       Aug 14, 2015
    你们这帮逗逼, 我看了30多层楼的评论, 真开始为了v2ex的用户质量担心了
    PERFECTCN
        86
    PERFECTCN  
       Aug 14, 2015
    Active Directory

    一直致力于打造这样的情形
    dai269619118
        87
    dai269619118  
       Aug 14, 2015
    @anubiskong 是啊 ls逗逼真多 说的好像lz做错了什么事情一样的
    ysoserious
        88
    ysoserious  
       Aug 14, 2015
    @int64ago 团购你会不会一个个号码去试?密码你想盗号的话 会不会一个个去试?
    int64ago
        89
    int64ago  
    OP
       Aug 14, 2015
    @borlee2567 如果密码是随机的且生成的方式正确,想试出来很难
    可能大家很不习惯只有一个“密码”的登录方式(你们担心的那些问题我都懂,但是是可以规避的),但是如果是 LastPass 或者 1Password 用户,很可能有过这样想法的人就多一点了
    crazycen
        90
    crazycen  
       Aug 14, 2015 via Android
    忘记密码的时候怎么办呢?
    ChanneW
        91
    ChanneW  
       Aug 14, 2015
    用指纹、掌纹,视网膜,脸,作为用户名的时候就可以只输密码了
    wclebb
        92
    wclebb  
       Aug 14, 2015   1
    其实我觉得可以有一个密码。5
    这个密码叫:用户名密码。
    什么意思呢?
    比如一个框,里面写着:用户名+密码。
    比如用户名我的 wclebb
    然后我的密码是 ABCD1234
    那么用户名密码:wclebbABCD1234
    当然要改密码的话只能改 ABCD1234了,当然用户名可以改,前提是可以允许改。
    一方面,这样的密码更方便,更好用,减少频繁使用鼠标或 Tab ,第二方面体验和安全兼有。

    上面有个人说:abcdef……xyz
    陌生人:abcdef……xy_

    前提是,用户名必须不一样,那么密码即使一样也构成不了雷同密码的存在,从而完成了第二方面体验和安全兼有的存在。

    想来想去,这不过是把两个框合并为一个框而已……
    现有目前的技术,应该很简单吧……(别揍我,我是平面设计!)
    cnnblike
        93
    cnnblike  
       Aug 14, 2015
    @wclebb 用户名密码还是有问题啊。两个用户,一个是wclebb,一个是wclebbA,刚好进去了,咋办?
    cnnblike
        94
    cnnblike  
       Aug 14, 2015
    @wclebb 之前我输入wclebbABCD1234只能验证一个人,现在可以同时验证很多人了。
    tinyhill
        95
    tinyhill  
       Aug 14, 2015
    要不要用户名,密码根本在于如何确定用户的唯一性,并且无法让别人猜解。
    Valyrian
        96
    Valyrian  
       Aug 14, 2015   1
    楼主的思路不错,个人觉得可以这么搞:
    0. 选择一个escape字符,比如星号"*"
    1. 注册时需要用户名(需要唯一)和密码(不需要唯一)
    2. 注册后返回字符串:s = encrypt(escape(username) + "*" + escape(password), public_key),用户可以保存在last pass、1password里。(escape后的username/password里不会出现星号,所以星号可以安全的当做分隔符用。)
    3. 登录时用户提交这个字符串 s,可以解码为用户名,密码 (username, password) = decrypt(s, private_key)。(先用private_key解码,再按星号拆为username 和 password,最后在unescape。)

    缺点就是返回的字符串不好记

    缺点就是字符串不好记。。
    wclebb
        97
    wclebb  
       Aug 14, 2015
    @cnnblike 那也概率太低了,概率这么低的情况下用户名加个 A 和密码还能进
    意味着,即使两个框用户名和密码分开,输入不也是一样登陆上去了嘛?
    我只不过是把两个框合并了而已。

    比如:abcd 用户名,不小心多写 e,但恰好这个用户名也和我一样,1Password随机密码i96mHfa*FJTsNzor&DNj
    我的乖乖,还能碰在一起?不买彩票多可惜。
    退一万步讲,即使密码:123456789
    那……abcd123456789;abcde123456789
    谁叫你密码这么简单……有没有密码都差不多。
    Dowding
        98
    Dowding  
       Aug 14, 2015   1
    楼主的思路其实和只要有用户名不用密码就能登录其实没本质区别吧
    fluyy
        99
    fluyy  
       Aug 14, 2015 via Android
    安全打击怎么做?
    zander
        100
    zander  
       Aug 14, 2015
    OpenID
    1  2  
    About     Help     Advertise     Blog     API     FAQ     Solana     5779 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 201ms UTC 08:07 PVG 16:07 LAX 01:07 JFK 04:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86