📄 mgf.java
字号:
package rsa;import java.math.BigInteger;public class MGF { private static String T; public static String getMGF(String msgSeed,long maskLen){ int hLen=20; long hhLen=hLen; hhLen<<=32; if(maskLen > hhLen)T="mask too long"; else{ T=""; int L=(int)((maskLen+hLen-1)/hLen); for(int counter =0;counter <L;counter++){ String C=Primitives.I2OSP(BigInteger.valueOf(counter),4); sha1 sh=new sha1(msgSeed+C,16); int[]sha=sh.getHash(); for(int i=0;i<5;i++)T=T+completeparzero(Long.toHexString(sha[4-i] & 0xFFFFFFFFL),8); } } return T; } private static String completeparzero(String str,int len){ if(str.length()<len){ int str_len=str.length(); for(int i=0;i<len-str_len;i++)str="0"+str; } return str; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -