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

📄 str.java

📁 des差分密码分析实现源代码
💻 JAVA
字号:
///////////////////////////////////////////////////////
////  author   liyimin  
///////////////////////////////////////////////////////
package dstest.dd;
import java.lang.Integer;

public class Str
{
	public static void println(String msg,int inta[],int len)
	{
		System.out.print(msg);
		println(inta,len);
	}
	public static void println(int inta[],int len)
	{
		System.out.println(getstringfromintarray(inta,len));

	}
	public static String gethexstringfrombinarray(int inta[],int len)
	{
		String str="";
		for(int i=0;i<len/4;i++)
		{
			int sub[]=getsubarray(inta,i*4,i*4+3);
			int v=Str.parseintbinary(sub,4);
			str+=Integer.toHexString(v);
		}
		return(str);
	}
	public static int parseintbinary(int inta[],int len)
	{
		String str="";
		for(int i=0;i<len;i++)
		{
			if(inta[i]==0)
				str+="0";
			else
				str+="1";
		}
		int result=Integer.parseInt(str,2);
		return(result);
	}
	public static String getstringfromintarray(int inta[],int len)
	{
		String str="";
		for(int i=0;i<len;i++)
		{
		     str+=inta[i];
		}
		return(str);
	}
	public static int[] getsubarray(int ori[],int start,int end)
	{
		int result[]=new int[end-start+1];
		for(int i=start;i<=end;i++)
		{
			result[i-start]=ori[i];
		}
		return(result);
	}
    public static int[] getbinarray(int val,int bit)
	{
			String str=Integer.toBinaryString(val);
            int s=str.length();
			for(int k=0;k<bit-s;k++)
				str="0"+str;
			int result[]=new int[bit];
			for(int j=0;j<bit;j++)
			{
			
				if(str.charAt(j)=='0')
					result[j]=0;
				else
					result[j]=1;
			}
			return(result);
	}
	public static int[] getbinarray(String hexstr)
	{
		int size=hexstr.length();
		String str="";
		int tempi;
		
		for(int i=0;i<size;i++)
		{
			String tstr="";
			tstr+=hexstr.charAt(i);
			
			tempi=Integer.parseInt(tstr,16);
			
			String str1=Integer.toString(tempi,2);
            int s=str1.length();
			for(int k=0;k<4-s;k++)
				str1="0"+str1;
			str+=str1;
			

		}
		int result[]=new int[size*4];
		for(int j=0;j<size*4;j++)
		{
			
			if(str.charAt(j)=='0')
				result[j]=0;
			else
				result[j]=1;
		}
		return(result);
	}
	public static void main(String[] args) 
	{
        System.out.println(getstringfromintarray(Str.getbinarray("123456789abcdef"),60));
		int kkk[]={1,1,0,1};
		System.out.println(parseintbinary(kkk,4));
		int bbb[]={1,0,1,1,1,1,1,1,0,0,0,0,0,0,1,0,1,0,1,0,1,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0};
		//int ccc[]=Str.getsubarray(bbb,6,11);
		//Str.println(ccc,6);
		for(int si=0;si<8;si++)
		{
			int EPi[]=Str.getsubarray(bbb,si*6,si*6+5);
			System.out.print("EPi:");Str.println(EPi,6);
			

		}
		
	}
}

⌨️ 快捷键说明

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