当前位置:首页 » 编程语言 » java文件校验

java文件校验

发布时间: 2023-06-05 19:43:38

1. java 程序怎么计算.hex文件校验和

JAVA 读进来,一样相加

int n=0xff&(0x01 +~(0x02 + 00 + 00 + 0x02 + 0x12 + 00));
String a=Integer.toHexString(n);
System.out.println(a);

2. java 怎么验证文件为数字签名认证文件

1)从密钥库中读取CA的证书
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,storepass.toCharArray());
java.security.cert.Certificate c1=ks.getCertificate("caroot");
(2)从密钥库中读取CA的私钥
PrivateKey caprk=(PrivateKey)ks.getKey(alias,cakeypass.toCharArray());
(3)从CA的证书中提取签发者的信息
byte[] encod1=c1.getEncoded(); 提取CA证书的编码
X509CertImpl cimp1=new X509CertImpl(encod1); 用该编码创建X509CertImpl类型对象
X509CertInfo cinfo1=(X509CertInfo)cimp1.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); 获取X509CertInfo对象
X500Name issuer=(X500Name)cinfo1.get(X509CertInfo.SUBJECT+"."+CertificateIssuerName.DN_NAME); 获取X509Name类型的签发者信息
(4)获取待签发的证书
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in2=new FileInputStream("user.csr");
java.security.cert.Certificate c2=cf.generateCertificate(in);
(5)从待签发的证书中提取证书信息
byte [] encod2=c2.getEncoded();
X509CertImpl cimp2=new X509CertImpl(encod2); 用该编码创建X509CertImpl类型对象
X509CertInfo cinfo2=(X509CertInfo)cimp2.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); 获取X509CertInfo对象
(6)设置新证书有效期
Date begindate=new Date(); 获取当前时间
Date enddate=new Date(begindate.getTime()+3000*24*60*60*1000L); 有效期为3000天
CertificateValidity cv=new CertificateValidity(begindate,enddate); 创建对象
cinfo2.set(X509CertInfo.VALIDITY,cv); 设置有效期
(7)设置新证书序列号
int sn=(int)(begindate.getTime()/1000); 以当前时间为序列号
CertificateSerialNumber csn=new CertificateSerialNumber(sn);
cinfo2.set(X509CertInfo.SERIAL_NUMBER,csn);
(8)设置新证书签发者
cinfo2.set(X509CertInfo.ISSUER+"."+CertificateIssuerName.DN_NAME,issuer);应用第三步的结果
(9)设置新证书签名算法信息
AlgorithmId algorithm=new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
cinfo2.set(CertificateAlgorithmId.NAME+"."+CertificateAlgorithmId.ALGORITHM,algorithm);
(10)创建证书并使用CA的私钥对其签名
X509CertImpl newcert=new X509CertImpl(cinfo2);
newcert.sign(caprk,"MD5WithRSA"); 使用CA私钥对其签名
(11)将新证书写入密钥库
ks.setCertificateEntry("lf_signed",newcert);
FileOutputStream out=new FileOutputStream("newstore");
ks.store(out,"newpass".toCharArray()); 这里是写入了新的密钥库,也可以使用第七条来增加条目

3. 怎么检验java的环境变量是否正确

1,要明确java相关的环境变量有什么。它们包括:
JAVA_HOME = jdk的安装路径
path = (在原有配置的最后增加)%JAVA_HOME%\bin
作用:让系统识别java命令
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
作用:让系统能够找到class文件

2,配置完毕后,就可以使用下面的一个小程序验证java是否安装成功:
程序源代码如下(如该文件放在C:\Hello.java):
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
运行中输入cmd打开dos界面,进入C:\
javac Hello.java
查看C盘下是否生成了class文件
javaHello
查看控制台是否显示“Hello world!”,如果显示,则成功。
注意:只输入java -version并不能证明环境正确设置。

热点内容
我配置很高了ae为什么卡 发布:2025-05-17 14:54:50 浏览:167
python数据分析实战pdf 发布:2025-05-17 14:49:42 浏览:950
海澜之家广告脚本 发布:2025-05-17 13:56:06 浏览:32
手文件夹恢复 发布:2025-05-17 13:53:32 浏览:995
linux怎么看进程 发布:2025-05-17 13:53:30 浏览:305
thinkphp字段缓存 发布:2025-05-17 13:52:01 浏览:577
山灵app安卓版如何设置 发布:2025-05-17 13:51:49 浏览:390
帆布压缩袋 发布:2025-05-17 13:26:27 浏览:462
c语言16进制表示方法 发布:2025-05-17 13:11:25 浏览:484
ftp单位 发布:2025-05-17 13:10:03 浏览:146