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

有什么样常用的可逆加密算法?

  •  
  •   ericgui · Jan 26, 2019 · 22567 views
    This topic created in 2841 days ago, the information mentioned may be changed or developed.

    比如说, 我有一段字符串,加上$key, 就出来一段新的字符串,然后我拿到这串字符串,再有这个同样的$key,就得到解密的字符串。

    似乎 md5 不是的

    69 replies  •  2019-01-29 17:13:27 +08:00
    lhx2008
    lhx2008
    Jan 26, 2019 via Android
    1
    对称加密算法,有很多,但是常用的就看语言有没有相应的轮子
    fyibmsd
    fyibmsd
    Jan 26, 2019 via iPhone
    2
    xxtea
    cc85060
    cc85060
    Jan 26, 2019
    3
    aes
    beiyu
    beiyu
    Jan 26, 2019
    4
    aes+1 是比较常用的
    hackyuan
    hackyuan
    Jan 26, 2019 via Android
    5
    MD5 消息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个 128 位的散列值,用于确保信息传输完整一致。MD5 由美国密码学家罗纳德·李维斯特设计,于 1992 年公开,用以取代 MD4 算法。这套算法的程序在 RFC 1321 中被加以规范。 将数据运算变为另一固定长度值,是散列算法的基础原理。 维基百科
    msg7086
    msg7086
    Jan 26, 2019❤️6
    6
    加密都是可逆的。
    md5 不是加密算法。
    Betsy
    Betsy
    Jan 26, 2019 via iPhone
    7
    加密算法均可逆,而且 md5 并不是加密算法...
    testcaoy7
    testcaoy7
    Jan 26, 2019
    8
    分组加密算法:AES ( Rijndael )、TwoFish
    流式加密算法:Salsa20、ChaCha20
    thfurior
    thfurior
    Jan 26, 2019 via Android
    9
    des aes 国密 sm 系列
    billwsy
    billwsy
    Jan 26, 2019
    10
    加密算法都是可逆的,md5 是摘要算法。
    t6attack
    t6attack
    Jan 26, 2019
    11
    如果要 php 的,推荐 discuz 里的 authcode()
    chinvo
    chinvo
    Jan 26, 2019
    12
    加密都是可逆的

    摘要都是不可逆的
    Kirscheis
    Kirscheis
    Jan 26, 2019 via Android
    13
    常用 aes 或者某些椭圆算法,一般来说无脑 aes 即可,硬件支持比较好。

    不过加密算法一般输入输出不是字符串,而是 binary,你需要自己编码解码一下。
    baicheng10
    baicheng10
    Jan 26, 2019 via Android
    14
    就用 aes 吧,常用的语言应该都有实现。
    niknik
    niknik
    Jan 26, 2019
    15
    base64
    chinvo
    chinvo
    Jan 26, 2019
    16
    @niknik #15 base64 严格意义上来讲不属于现代加密算法,因为没有密钥,所以密文的保密性取决于对加密过程的保密
    chinvo
    chinvo
    Jan 26, 2019
    17
    yaokwok
    yaokwok
    Jan 26, 2019
    18
    md5 不是加密算法,而是摘要算法,摘要算法检查数据的完整性,可检查数据有没有被改过。你想要的那种加密算法可以尝试 AES 对称加密和解密
    newmind
    newmind
    Jan 26, 2019
    19
    对称的都行
    MonoLogueChi
    MonoLogueChi
    Jan 26, 2019 via Android
    20
    加密都是可以解密的,换句话说就是可逆,md5 是摘要,摘要会有信息丢失,所以是不可逆的
    gamexg
    gamexg
    Jan 26, 2019
    21
    aes 吧,
    除非古董 cpu 不然都有 aes 指令集,速度快。
    笔记本单核极限跑到了 900M/s。
    Halry
    Halry
    Jan 26, 2019 via Android
    22
    加密算法均可逆
    哈希算法不可逆(除非被破解了)
    anguiao
    anguiao
    Jan 26, 2019❤️1
    23
    @niknik base64 应该称之为编码,不能叫加密
    byteli
    byteli
    Jan 26, 2019 via Android
    24
    一切对称加密
    min
    min
    Jan 26, 2019
    25
    上古神器 3des
    目前流行 aes
    czb
    czb
    Jan 26, 2019 via Android❤️1
    27
    @Halry Hash 即使被"破解" 在决大多数情况下也不可能出现逆运算。因为 Hash 是从长字串有损变换到短字串,信息己经丢失就不可能回来。
    zn
    zn
    Jan 26, 2019 via iPhone
    28
    rc4,自己实现就十几行代码,简单好用,性能也好,对加密安全性要求不高的最佳选择。
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Jan 26, 2019
    30
    好多人分不清加密、摘要和编码
    frylkrttj
    frylkrttj
    Jan 26, 2019
    31
    倒退的想法
    lingyi95
    lingyi95
    Jan 26, 2019
    32
    @BXIA 简要教一下
    sdijeenx
    sdijeenx
    Jan 26, 2019
    33
    加密算法都可逆,不可逆的是信息摘要算法谢谢╮( ̄▽ ̄)╭
    msg7086
    msg7086
    Jan 26, 2019❤️10
    34
    @lingyi95
    假设原文是 A,成品是 B,有路人字符串 P、Q。

    A 能变成 B,B 能变成 A -- 编码
    A 配合 P 能变成 B,B 配合 P 能变成 A -- 对称加密
    A 配合 P 能变成 B,B 配合 Q 能变成 A -- 非对称加密
    A 能变成 B,B 变不了 A -- 摘要
    Raymon111111
    Raymon111111
    Jan 26, 2019
    35
    噢 那给你纸和笔以及一个 md5, 反推的算法是啥?
    ysjiang4869
    ysjiang4869
    Jan 26, 2019
    36
    des,目前传输协议在用
    alexmy
    alexmy
    Jan 26, 2019
    37
    aes 什么的都好用,如果是 js 的直接用 crypto-js。

    试一试: https://www.keylala.cn/aes
    ericgui
    ericgui
    OP
    Jan 26, 2019
    38
    @msg7086 感谢
    @alexmy PHP,不是 js
    @gamexg 感谢,正在试
    madison1
    madison1
    Jan 26, 2019 via iPhone
    39
    get 了新知识
    WordTian
    WordTian
    Jan 26, 2019 via Android
    40
    楼主你题目是描述的随便用个 异或 都能搞定啊,不过比较常见的还是 aes

    计算资源足够又不嫌折腾的话,可以用非对称加密
    ooh
    ooh
    Jan 26, 2019
    41
    rc4 快而且实现简单
    likuku
    likuku
    Jan 26, 2019
    42
    哈希 和 加密 你搞混了耶,重新发明了“加密”
    inframe
    inframe
    Jan 26, 2019 via Android
    43
    AES 不错,反正就是两大类,对称加密,非对称加密用得多。
    3dwelcome
    3dwelcome
    Jan 26, 2019 via Android
    44
    @msg7086 如果限定原文是四位英文字母,那 md5 就是可逆的。
    摘要算法直觉上给人不可逆向,但其实不是,都是有前提条件的。
    asAnotherJack
    asAnotherJack
    Jan 26, 2019
    45
    这种属于对称加密,aes 就行,如果非对称的话有 rsa,但是非对称的速度要慢很多,所以通常是两者结合使用
    otakustay
    otakustay
    Jan 26, 2019
    46
    @3dwelcome 限定 4 位字母但不给你足够的空间做彩虹表,同样是不可逆的,暴力破并不是逆向
    mskf
    mskf
    Jan 26, 2019
    47
    不可逆的是摘要算法,所有的加密算法都是可逆的
    libook
    libook
    Jan 26, 2019 via Android
    48
    加密算法都是可逆的,因为加密最终还是要解密的,否则就是摘要或有损压缩。
    同一个密钥就可以完成的加解密通常是对称加密,当然私钥能推导出公钥的非对称加密也可以。去维基上搜一下对称加密算法都有什么就知道了。
    另外经典密码学里也有一些可以用的,比如凯撒密码( rot13 甚至连加解密算法都是一样的),以及密码表。
    reus
    reus
    Jan 26, 2019
    49
    @gamexg 很多路由 cpu 就没有
    Erskine
    Erskine
    Jan 26, 2019 via Android
    50
    哈希和加密区别了解一下
    assad
    assad
    Jan 26, 2019
    51
    @t6attack RC4 算法
    raptor
    raptor
    Jan 26, 2019
    52
    请找一本基本的密码学教科书看一下。MD5 叫做摘要算法,不是加密算法。
    helloworld000
    helloworld000
    Jan 26, 2019
    53
    @ysjiang4869 2019 年都还在用 des。。。。还不如不用
    Halry
    Halry
    Jan 26, 2019
    54
    @czb 是的,我的表达有问题。而且应该叫摘要算法,发出去的一刻后悔了.
    palxie
    palxie
    Jan 26, 2019
    55
    这些不都是些常识吗??
    zyxk
    zyxk
    Jan 26, 2019
    56
    借问下,C++除了 cryptopp 还有哪些好用的加解密库。
    hexoxssaa
    hexoxssaa
    Jan 26, 2019
    57
    《密码编码学与网络安全:原理与实践》,中文版现已出到第七版,欢迎订购
    tuwulin365
    tuwulin365
    Jan 26, 2019
    58
    3des
    aes
    sm4
    rsa
    sm2
    Phariel
    Phariel
    Jan 26, 2019 via iPhone
    59
    非对称加密爆破属于社会工程范畴
    jugelizi
    jugelizi
    Jan 26, 2019
    60
    现在的程序员。。。
    dudor
    dudor
    Jan 26, 2019
    61
    你下载一个$$客户端,里面的加密方式都是可逆的
    1010543618
    1010543618
    Jan 26, 2019
    62
    据说 RSA (素数测试和因式分解)那个在量子计算机出现前完全都够用了
    whx20202
    whx20202
    Jan 27, 2019
    63
    AES 加密算法就行,记得千万不要用莫名其妙或者自己造的轮子,一定要用官方的加密库。
    qwertyegg
    qwertyegg
    Jan 27, 2019
    64
    @whx20202 这是给 NSA 送人头吗
    msg7086
    msg7086
    Jan 27, 2019
    66
    @3dwelcome 没有前提条件就是不可逆的。
    你这个「「限定」原文是四位英文字母」才是前提条件,而且如上所说,那也是爆破,并不是可逆运算。
    一定要给前提条件的话,你甚至可以说限定原文只能是"a",然后就可逆了(
    ericgui
    ericgui
    OP
    Jan 27, 2019
    67
    @WordTian 不太懂欸。。。。
    mayenjoy
    mayenjoy
    Jan 27, 2019
    68
    加密的逆操作就是解密,会保存所有原信息,为了安全的信息存储和传输,分为对称密钥加密和非对称密钥加密。
    摘要或者签名不是加密,会给出原信息的唯一特征码,为了校验。
    剩下的自己 Google 吧大哥。
    qaz564172564
    qaz564172564
    Jan 29, 2019
    69
    md5 是 hash 算法吧,不属于加密
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4721 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 160ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    ♥ Do have faith in what you're doing.