简易加密算法,用于字符串加密

    技术2022-05-19  18

    import java.util.Random;

    public final class Des2{

        private static final int CONST_RANGE = 256;

        private static final int CONST_255 = 255;

        private Des2()    {    }

        /**     * 加密算法实习方法     *     * @param sSource sSource     * @return String     * @see [类、类#方法、类#成员]     */    public static String encryption(String sSource)    {        if (null == sSource || "".equals(sSource.trim()))        {            return sSource;        }

            int nKeyPos = -1;        int nSrcPos = 0;        int nSrcAsc;        String sKey = "portalone";

            int nOffset = new Random().nextInt(CONST_RANGE);        String sHexString = Integer.toHexString(nOffset);        for (int i = 2; i > sHexString.length();)        {            sHexString = "0" + sHexString;        }

            StringBuffer sbDest = new StringBuffer(sHexString);        for (nSrcPos = 0; nSrcPos < sSource.length(); nSrcPos++)        {            nSrcAsc = (sSource.charAt(nSrcPos) + nOffset) % CONST_255;            if (nKeyPos < sKey.length() - 1)            {                nKeyPos++;            }            else            {                nKeyPos = 0;            }            nSrcAsc = nSrcAsc ^ (int)(sKey.charAt(nKeyPos));            sHexString = Integer.toHexString(nSrcAsc);            for (int i = 2; i > sHexString.length();)            {                sHexString = "0" + sHexString;            }            sbDest = sbDest.append(sHexString);            nOffset = nSrcAsc;        }

            return new String(sbDest);    }


    最新回复(0)