⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ripemd160managed.cls

📁 这是一个在vb下实现的各种加密程序,可以实现一般的文本加密和文件加密,但是很多算法都是已经被人破解过的.
💻 CLS
📖 第 1 页 / 共 5 页
字号:
    cc = cc + (dd Xor (ee Or (Not aa))) + mX(7) + &HA953FD4E
    cc = ((cc * &H40&) Or (((cc And &HFC000000) \ &H4000000) And &H3F&)) + bb
    ee = ((ee * &H400&) Or (((ee And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJ(bb, cc, dd, ee, aa, mX(12), 8)
    bb = bb + (cc Xor (dd Or (Not ee))) + mX(12) + &HA953FD4E
    bb = ((bb * &H100&) Or (((bb And &HFF000000) \ &H1000000) And &HFF&)) + aa
    dd = ((dd * &H400&) Or (((dd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJ(aa, bb, cc, dd, ee, mX(2), 13)
    aa = aa + (bb Xor (cc Or (Not dd))) + mX(2) + &HA953FD4E
    aa = ((aa * &H2000&) Or (((aa And &HFFF80000) \ &H80000) And &H1FFF&)) + ee
    cc = ((cc * &H400&) Or (((cc And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(ee, aa, bb, cc, dd, mX(10), 12)
    ee = ee + (aa Xor (bb Or (Not cc))) + mX(10) + &HA953FD4E
    ee = ((ee * &H1000&) Or (((ee And &HFFF00000) \ &H100000) And &HFFF&)) + dd
    bb = ((bb * &H400&) Or (((bb And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(dd, ee, aa, bb, cc, mX(14), 5)
    dd = dd + (ee Xor (aa Or (Not bb))) + mX(14) + &HA953FD4E
    dd = ((dd * &H20&) Or (((dd And &HF8000000) \ &H8000000) And &H1F&)) + cc
    aa = ((aa * &H400&) Or (((aa And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(cc, dd, ee, aa, bb, mX(1), 12)
    cc = cc + (dd Xor (ee Or (Not aa))) + mX(1) + &HA953FD4E
    cc = ((cc * &H1000&) Or (((cc And &HFFF00000) \ &H100000) And &HFFF&)) + bb
    ee = ((ee * &H400&) Or (((ee And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(bb, cc, dd, ee, aa, mX(3), 13)
    bb = bb + (cc Xor (dd Or (Not ee))) + mX(3) + &HA953FD4E
    bb = ((bb * &H2000&) Or (((bb And &HFFF80000) \ &H80000) And &H1FFF&)) + aa
    dd = ((dd * &H400&) Or (((dd And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(aa, bb, cc, dd, ee, mX(8), 14)
    aa = aa + (bb Xor (cc Or (Not dd))) + mX(8) + &HA953FD4E
    aa = ((aa * &H4000&) Or (((aa And &HFFFC0000) \ &H40000) And &H3FFF&)) + ee
    cc = ((cc * &H400&) Or (((cc And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(ee, aa, bb, cc, dd, mX(11), 11)
    ee = ee + (aa Xor (bb Or (Not cc))) + mX(11) + &HA953FD4E
    ee = ((ee * &H800&) Or (((ee And &HFFE00000) \ &H200000) And &H7FF&)) + dd
    bb = ((bb * &H400&) Or (((bb And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(dd, ee, aa, bb, cc, mX(6), 8)
    dd = dd + (ee Xor (aa Or (Not bb))) + mX(6) + &HA953FD4E
    dd = ((dd * &H100&) Or (((dd And &HFF000000) \ &H1000000) And &HFF&)) + cc
    aa = ((aa * &H400&) Or (((aa And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(cc, dd, ee, aa, bb, mX(15), 5)
    cc = cc + (dd Xor (ee Or (Not aa))) + mX(15) + &HA953FD4E
    cc = ((cc * &H20&) Or (((cc And &HF8000000) \ &H8000000) And &H1F&)) + bb
    ee = ((ee * &H400&) Or (((ee And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJ(bb, cc, dd, ee, aa, mX(13), 6)
    bb = bb + (cc Xor (dd Or (Not ee))) + mX(13) + &HA953FD4E
    bb = ((bb * &H40&) Or (((bb And &HFC000000) \ &H4000000) And &H3F&)) + aa
    dd = ((dd * &H400&) Or (((dd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(aaa, bbb, ccc, ddd, eee, mX(5), 8)
    aaa = aaa + (bbb Xor (ccc Or (Not ddd))) + mX(5) + &H50A28BE6
    aaa = ((aaa * &H100&) Or (((aaa And &HFF000000) \ &H1000000) And &HFF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJJ(eee, aaa, bbb, ccc, ddd, mX(14), 9)
    eee = eee + (aaa Xor (bbb Or (Not ccc))) + mX(14) + &H50A28BE6
    eee = ((eee * &H200&) Or (((eee And &HFF800000) \ &H800000) And &H1FF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(ddd, eee, aaa, bbb, ccc, mX(7), 9)
    ddd = ddd + (eee Xor (aaa Or (Not bbb))) + mX(7) + &H50A28BE6
    ddd = ((ddd * &H200&) Or (((ddd And &HFF800000) \ &H800000) And &H1FF&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(ccc, ddd, eee, aaa, bbb, mX(0), 11)
    ccc = ccc + (ddd Xor (eee Or (Not aaa))) + mX(0) + &H50A28BE6
    ccc = ((ccc * &H800&) Or (((ccc And &HFFE00000) \ &H200000) And &H7FF&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(bbb, ccc, ddd, eee, aaa, mX(9), 13)
    bbb = bbb + (ccc Xor (ddd Or (Not eee))) + mX(9) + &H50A28BE6
    bbb = ((bbb * &H2000&) Or (((bbb And &HFFF80000) \ &H80000) And &H1FFF&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(aaa, bbb, ccc, ddd, eee, mX(2), 15)
    aaa = aaa + (bbb Xor (ccc Or (Not ddd))) + mX(2) + &H50A28BE6
    aaa = ((aaa * &H8000&) Or (((aaa And &HFFFE0000) \ &H20000) And &H7FFF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(eee, aaa, bbb, ccc, ddd, mX(11), 15)
    eee = eee + (aaa Xor (bbb Or (Not ccc))) + mX(11) + &H50A28BE6
    eee = ((eee * &H8000&) Or (((eee And &HFFFE0000) \ &H20000) And &H7FFF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(ddd, eee, aaa, bbb, ccc, mX(4), 5)
    ddd = ddd + (eee Xor (aaa Or (Not bbb))) + mX(4) + &H50A28BE6
    ddd = ((ddd * &H20&) Or (((ddd And &HF8000000) \ &H8000000) And &H1F&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(ccc, ddd, eee, aaa, bbb, mX(13), 7)
    ccc = ccc + (ddd Xor (eee Or (Not aaa))) + mX(13) + &H50A28BE6
    ccc = ((ccc * &H80&) Or (((ccc And &HFE000000) \ &H2000000) And &H7F&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJJ(bbb, ccc, ddd, eee, aaa, mX(6), 7)
    bbb = bbb + (ccc Xor (ddd Or (Not eee))) + mX(6) + &H50A28BE6
    bbb = ((bbb * &H80&) Or (((bbb And &HFE000000) \ &H2000000) And &H7F&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(aaa, bbb, ccc, ddd, eee, mX(15), 8)
    aaa = aaa + (bbb Xor (ccc Or (Not ddd))) + mX(15) + &H50A28BE6
    aaa = ((aaa * &H100&) Or (((aaa And &HFF000000) \ &H1000000) And &HFF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(eee, aaa, bbb, ccc, ddd, mX(8), 11)
    eee = eee + (aaa Xor (bbb Or (Not ccc))) + mX(8) + &H50A28BE6
    eee = ((eee * &H800&) Or (((eee And &HFFE00000) \ &H200000) And &H7FF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(ddd, eee, aaa, bbb, ccc, mX(1), 14)
    ddd = ddd + (eee Xor (aaa Or (Not bbb))) + mX(1) + &H50A28BE6
    ddd = ((ddd * &H4000&) Or (((ddd And &HFFFC0000) \ &H40000) And &H3FFF&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(ccc, ddd, eee, aaa, bbb, mX(10), 14)
    ccc = ccc + (ddd Xor (eee Or (Not aaa))) + mX(10) + &H50A28BE6
    ccc = ((ccc * &H4000&) Or (((ccc And &HFFFC0000) \ &H40000) And &H3FFF&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnJJJ(bbb, ccc, ddd, eee, aaa, mX(3), 12)
    bbb = bbb + (ccc Xor (ddd Or (Not eee))) + mX(3) + &H50A28BE6
    bbb = ((bbb * &H1000&) Or (((bbb And &HFFF00000) \ &H100000) And &HFFF&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnJJJ(aaa, bbb, ccc, ddd, eee, mX(12), 6)
    aaa = aaa + (bbb Xor (ccc Or (Not ddd))) + mX(12) + &H50A28BE6
    aaa = ((aaa * &H40&) Or (((aaa And &HFC000000) \ &H4000000) And &H3F&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(eee, aaa, bbb, ccc, ddd, mX(6), 9)
    eee = eee + ((aaa And ccc) Or (bbb And (Not ccc))) + mX(6) + &H5C4DD124
    eee = ((eee * &H200&) Or (((eee And &HFF800000) \ &H800000) And &H1FF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnIII(ddd, eee, aaa, bbb, ccc, mX(11), 13)
    ddd = ddd + ((eee And bbb) Or (aaa And (Not bbb))) + mX(11) + &H5C4DD124
    ddd = ((ddd * &H2000&) Or (((ddd And &HFFF80000) \ &H80000) And &H1FFF&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnIII(ccc, ddd, eee, aaa, bbb, mX(3), 15)
    ccc = ccc + ((ddd And aaa) Or (eee And (Not aaa))) + mX(3) + &H5C4DD124
    ccc = ((ccc * &H8000&) Or (((ccc And &HFFFE0000) \ &H20000) And &H7FFF&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(bbb, ccc, ddd, eee, aaa, mX(7), 7)
    bbb = bbb + ((ccc And eee) Or (ddd And (Not eee))) + mX(7) + &H5C4DD124
    bbb = ((bbb * &H80&) Or (((bbb And &HFE000000) \ &H2000000) And &H7F&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(aaa, bbb, ccc, ddd, eee, mX(0), 12)
    aaa = aaa + ((bbb And ddd) Or (ccc And (Not ddd))) + mX(0) + &H5C4DD124
    aaa = ((aaa * &H1000&) Or (((aaa And &HFFF00000) \ &H100000) And &HFFF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(eee, aaa, bbb, ccc, ddd, mX(13), 8)
    eee = eee + ((aaa And ccc) Or (bbb And (Not ccc))) + mX(13) + &H5C4DD124
    eee = ((eee * &H100&) Or (((eee And &HFF000000) \ &H1000000) And &HFF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnIII(ddd, eee, aaa, bbb, ccc, mX(5), 9)
    ddd = ddd + ((eee And bbb) Or (aaa And (Not bbb))) + mX(5) + &H5C4DD124
    ddd = ((ddd * &H200&) Or (((ddd And &HFF800000) \ &H800000) And &H1FF&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnIII(ccc, ddd, eee, aaa, bbb, mX(10), 11)
    ccc = ccc + ((ddd And aaa) Or (eee And (Not aaa))) + mX(10) + &H5C4DD124
    ccc = ((ccc * &H800&) Or (((ccc And &HFFE00000) \ &H200000) And &H7FF&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(bbb, ccc, ddd, eee, aaa, mX(14), 7)
    bbb = bbb + ((ccc And eee) Or (ddd And (Not eee))) + mX(14) + &H5C4DD124
    bbb = ((bbb * &H80&) Or (((bbb And &HFE000000) \ &H2000000) And &H7F&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(aaa, bbb, ccc, ddd, eee, mX(15), 7)
    aaa = aaa + ((bbb And ddd) Or (ccc And (Not ddd))) + mX(15) + &H5C4DD124
    aaa = ((aaa * &H80&) Or (((aaa And &HFE000000) \ &H2000000) And &H7F&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnIII(eee, aaa, bbb, ccc, ddd, mX(8), 12)
    eee = eee + ((aaa And ccc) Or (bbb And (Not ccc))) + mX(8) + &H5C4DD124
    eee = ((eee * &H1000&) Or (((eee And &HFFF00000) \ &H100000) And &HFFF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(ddd, eee, aaa, bbb, ccc, mX(12), 7)
    ddd = ddd + ((eee And bbb) Or (aaa And (Not bbb))) + mX(12) + &H5C4DD124
    ddd = ((ddd * &H80&) Or (((ddd And &HFE000000) \ &H2000000) And &H7F&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(ccc, ddd, eee, aaa, bbb, mX(4), 6)
    ccc = ccc + ((ddd And aaa) Or (eee And (Not aaa))) + mX(4) + &H5C4DD124
    ccc = ((ccc * &H40&) Or (((ccc And &HFC000000) \ &H4000000) And &H3F&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(bbb, ccc, ddd, eee, aaa, mX(9), 15)
    bbb = bbb + ((ccc And eee) Or (ddd And (Not eee))) + mX(9) + &H5C4DD124
    bbb = ((bbb * &H8000&) Or (((bbb And &HFFFE0000) \ &H20000) And &H7FFF&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(aaa, bbb, ccc, ddd, eee, mX(1), 13)
    aaa = aaa + ((bbb And ddd) Or (ccc And (Not ddd))) + mX(1) + &H5C4DD124
    aaa = ((aaa * &H2000&) Or (((aaa And &HFFF80000) \ &H80000) And &H1FFF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnIII(eee, aaa, bbb, ccc, ddd, mX(2), 11)
    eee = eee + ((aaa And ccc) Or (bbb And (Not ccc))) + mX(2) + &H5C4DD124
    eee = ((eee * &H800&) Or (((eee And &HFFE00000) \ &H200000) And &H7FF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnHHH(ddd, eee, aaa, bbb, ccc, mX(15), 9)
    ddd = ddd + ((eee Or (Not aaa)) Xor bbb) + mX(15) + &H6D703EF3
    ddd = ((ddd * &H200&) Or (((ddd And &HFF800000) \ &H800000) And &H1FF&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnHHH(ccc, ddd, eee, aaa, bbb, mX(5), 7)
    ccc = ccc + ((ddd Or (Not eee)) Xor aaa) + mX(5) + &H6D703EF3
    ccc = ((ccc * &H80&) Or (((ccc And &HFE000000) \ &H2000000) And &H7F&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnHHH(bbb, ccc, ddd, eee, aaa, mX(1), 15)
    bbb = bbb + ((ccc Or (Not ddd)) Xor eee) + mX(1) + &H6D703EF3
    bbb = ((bbb * &H8000&) Or (((bbb And &HFFFE0000) \ &H20000) And &H7FFF&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnHHH(aaa, bbb, ccc, ddd, eee, mX(3), 11)
    aaa = aaa + ((bbb Or (Not ccc)) Xor ddd) + mX(3) + &H6D703EF3
    aaa = ((aaa * &H800&) Or (((aaa And &HFFE00000) \ &H200000) And &H7FF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnHHH(eee, aaa, bbb, ccc, ddd, mX(7), 8)
    eee = eee + ((aaa Or (Not bbb)) Xor ccc) + mX(7) + &H6D703EF3
    eee = ((eee * &H100&) Or (((eee And &HFF000000) \ &H1000000) And &HFF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnHHH(ddd, eee, aaa, bbb, ccc, mX(14), 6)
    ddd = ddd + ((eee Or (Not aaa)) Xor bbb) + mX(14) + &H6D703EF3
    ddd = ((ddd * &H40&) Or (((ddd And &HFC000000) \ &H4000000) And &H3F&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnHHH(ccc, ddd, eee, aaa, bbb, mX(6), 6)
    ccc = ccc + ((ddd Or (Not eee)) Xor aaa) + mX(6) + &H6D703EF3
    ccc = ((ccc * &H40&) Or (((ccc And &HFC000000) \ &H4000000) And &H3F&)) + bbb
    eee = ((eee * &H400&) Or (((eee And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnHHH(bbb, ccc, ddd, eee, aaa, mX(9), 14)
    bbb = bbb + ((ccc Or (Not ddd)) Xor eee) + mX(9) + &H6D703EF3
    bbb = ((bbb * &H4000&) Or (((bbb And &HFFFC0000) \ &H40000) And &H3FFF&)) + aaa
    ddd = ((ddd * &H400&) Or (((ddd And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnHHH(aaa, bbb, ccc, ddd, eee, mX(11), 12)
    aaa = aaa + ((bbb Or (Not ccc)) Xor ddd) + mX(11) + &H6D703EF3
    aaa = ((aaa * &H1000&) Or (((aaa And &HFFF00000) \ &H100000) And &HFFF&)) + eee
    ccc = ((ccc * &H400&) Or (((ccc And &HFFC00000) \ &H400000) And &H3FF&))

    'Call fnHHH(eee, aaa, bbb, ccc, ddd, mX(8), 13)
    eee = eee + ((aaa Or (Not bbb)) Xor ccc) + mX(8) + &H6D703EF3
    eee = ((eee * &H2000&) Or (((eee And &HFFF80000) \ &H80000) And &H1FFF&)) + ddd
    bbb = ((bbb * &H400&) Or (((bbb And &HFFC00000) \ &H400000) And &H3FF&))
    
    'Call fnHHH(ddd, eee, aaa, bbb, ccc, mX(12), 5)
    ddd = ddd + ((eee Or (Not aaa)) Xor bbb) + mX(12) + &H6D703EF3
    ddd = ((ddd * &H20&) Or (((ddd And &HF8000000) \ &H8000000) And &H1F&)) + ccc
    aaa = ((aaa * &H400&) Or (((aaa And &HFFC00000) \ &H400000) And &H3FF&))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -