• 大小: 10KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: Java
  • 标签: java  sm4  

资源简介

java SM4加密demo, 大家喜欢下载, 有问题可以留言哦

资源截图

代码片段和文件信息

package com.baiwang.cloud.util.SM4;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

/**
 * @Desc SM4
 * @author wenbin
 * @date 2019/3/26
 */
public class SM4
{
    public static final int SM4_ENCRYPT = 1;

    public static final int SM4_DECRYPT = 0;

    private long GET_ULONG_BE(byte[] b int i)
    {
        long n = (long)(b[i] & 0xff) << 24 | (long)((b[i + 1] & 0xff) << 16) | (long)((b[i + 2] & 0xff) << 8) | (long)(b[i + 3] & 0xff) & 0xffffffffL;
        return n;
    }

    private void PUT_ULONG_BE(long n byte[] b int i)
    {
        b[i] = (byte)(int)(0xFF & n >> 24);
        b[i + 1] = (byte)(int)(0xFF & n >> 16);
        b[i + 2] = (byte)(int)(0xFF & n >> 8);
        b[i + 3] = (byte)(int)(0xFF & n);
    }

    private long SHL(long x int n)
    {
        return (x & 0xFFFFFFFF) << n;
    }

    private long ROTL(long x int n)
    {
        return SHL(x n) | x >> (32 - n);
    }

    private void SWAP(long[] sk int i)
    {
        long t = sk[i];
        sk[i] = sk[(31 - i)];
        sk[(31 - i)] = t;
    }

    public static final byte[] SboxTable = { (byte) 0xd6 (byte) 0x90 (byte) 0xe9 (byte) 0xfe
            (byte) 0xcc (byte) 0xe1 0x3d (byte) 0xb7 0x16 (byte) 0xb6
            0x14 (byte) 0xc2 0x28 (byte) 0xfb 0x2c 0x05 0x2b 0x67
            (byte) 0x9a 0x76 0x2a (byte) 0xbe 0x04 (byte) 0xc3
            (byte) 0xaa 0x44 0x13 0x26 0x49 (byte) 0x86 0x06
            (byte) 0x99 (byte) 0x9c 0x42 0x50 (byte) 0xf4 (byte) 0x91
            (byte) 0xef (byte) 0x98 0x7a 0x33 0x54 0x0b 0x43
            (byte) 0xed (byte) 0xcf (byte) 0xac 0x62 (byte) 0xe4
            (byte) 0xb3 0x1c (byte) 0xa9 (byte) 0xc9 0x08 (byte) 0xe8
            (byte) 0x95 (byte) 0x80 (byte) 0xdf (byte) 0x94 (byte) 0xfa
            0x75 (byte) 0x8f 0x3f (byte) 0xa6 0x47 0x07 (byte) 0xa7
            (byte) 0xfc (byte) 0xf3 0x73 0x17 (byte) 0xba (byte) 0x83
            0x59 0x3c 0x19 (byte) 0xe6 (byte) 0x85 0x4f (byte) 0xa8
            0x68 0x6b (byte) 0x81 (byte) 0xb2 0x71 0x64 (byte) 0xda
            (byte) 0x8b (byte) 0xf8 (byte) 0xeb 0x0f 0x4b 0x70 0x56
            (byte) 0x9d 0x35 0x1e 0x24 0x0e 0x5e 0x63 0x58 (byte) 0xd1
            (byte) 0xa2 0x25 0x22 0x7c 0x3b 0x01 0x21 0x78 (byte) 0x87
            (byte) 0xd4 0x00 0x46 0x57 (byte) 0x9f (byte) 0xd3 0x27
            0x52 0x4c 0x36 0x02 (byte) 0xe7 (byte) 0xa0 (byte) 0xc4
            (byte) 0xc8 (byte) 0x9e (byte) 0xea (byte) 0xbf (byte) 0x8a
            (byte) 0xd2 0x40 (byte) 0xc7 0x38 (byte) 0xb5 (byte) 0xa3
            (byte) 0xf7 (byte) 0xf2 (byte) 0xce (byte) 0xf9 0x61 0x15
            (byte) 0xa1 (byte) 0xe0 (byte) 0xae 0x5d (byte) 0xa4
            (byte) 0x9b 0x34 0x1a 0x55 (byte) 0xad (byte) 0x93 0x32
            0x30 (byte) 0xf5 (byte) 0x8c (byte) 0xb1 (byte) 0xe3 0x1d
            (byte) 0xf6 (byte) 0xe2 0x2

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-26 15:30  SM4\
     文件         330  2019-03-26 15:23  SM4\SM4_Context.java
     目录           0  2019-03-29 10:57  __MACOSX\
     目录           0  2019-03-29 10:57  __MACOSX\SM4\
     文件         175  2019-03-26 15:23  __MACOSX\SM4\._SM4_Context.java
     文件       18476  2019-03-26 15:24  SM4\Util.java
     文件         175  2019-03-26 15:24  __MACOSX\SM4\._Util.java
     文件        7016  2019-03-26 15:30  SM4\SM4Utils.java
     文件         175  2019-03-26 15:30  __MACOSX\SM4\._SM4Utils.java
     文件       11502  2019-03-26 15:24  SM4\SM4.java
     文件         175  2019-03-26 15:24  __MACOSX\SM4\._SM4.java
     文件         296  2019-03-26 15:30  __MACOSX\._SM4

评论

共有 条评论