【末世旅行之金蝶EAS】用明文生成加密后的用户登录密文的原理和代码

前言

金蝶EAS从7.0到8.5,用户的登录密码,用的都是同一种加密方式

如果仔细观察你会发现,不同的账号,使用相同的密码,最后生成的密文是不一样的

经过反编译标准产品的生成密码的代码,找到了生成密码的类:com.kingdee.bos.util.CryptoUtil

这个类有个静态方法public static String encrypt(String strSrc) throws CryptException来生成密码

而传入的字符串是该用户的ID连接上明文密码trim之后的字符串,返回的是加密后的密文

用用户的ID当做明文的一部分,也就导致了不同的用户,相同密码,而密文不一样,因为每个用户的ID是唯一的


目录

1.原理

2.代码


1.原理

其实加密的过程很简单,就是将密文进行了一次MD5加密,然后把加密后的密文进行Base64编码,只不过中间有个小细节需要注意一下。

  1. 将用户ID和明文密码trim连接成一个新的字符串strSrc
  2. 获取strSrc的字节数组btSrc
  3. 创建一个字节数组btKey,长度是btSrc的长度加1,然后把btSrc的数据赋值到btKey里
  4. 将btKey进行一次MD5加密,生成新的字节数组btDigest
  5. 将btDigest进行Base64编码

值得注意的是,他并没有用字符串strAll直接去进行MD5加密,而是将它增加了一个字节之后再去加密,这样最后面就多了一个字节0,是非常好的一个想法。这样做的好处就是,并没有采用市面上大多数的加salt或者多次MD5加密的方式,也就没有办法通过查MD5原文的网站来破解了,所以以我目前的认知,如果想破解,只能用这段代码自己穷举密码字典来暴力破解了。只要密码设置的长一点,复杂一点,是很难破解出的。

2.代码

这里只贴上关键的代码,具体的可运行的项目可以到这里下载:CSDN下载

public static void main(String[] args) {
	String strSrc = "00000000-0000-0000-0000-00000000000013B7DE7F" + "abcde";//明文是abcde
	byte[] btKey = new byte[strSrc.getBytes().length + 1];//注意这里的长度加1
	System.arraycopy(strSrc.getBytes(), 0, btKey, 0, strSrc.getBytes().length);
	String strEncode = "";
	try {
		MessageDigest md = MessageDigest.getInstance("MD5");
		md.update(btKey);
		byte[] btDigest = md.digest();

		strEncode = Base64Encoder.byteArrayToBase64(btDigest);
		System.out.println(strEncode);
	} catch (Exception e) {
		e.printStackTrace();
	}
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
### 回答1: 《金蝶EAS 8.0用户手册》是一本为金蝶EAS 8.0软件的用户提供使用指南和操作手册的资料。该手册详细介绍了金蝶EAS 8.0软件的各项功能和操作步骤。 首先,手册会简要介绍金蝶EAS 8.0软件的概况,包括软件的特点、应用场景以及优势等。然后,手册详细介绍了软件的安装与部署,包括系统环境要求、安装步骤和注意事项等,帮助用户顺利完成软件的安装与配置。 接下来,手册会逐一介绍软件的各项功能模块,包括财务管理、人力资源管理、供应链管理、销售管理、生产管理等。每个模块会详细说明该功能模块的用途和操作步骤,并提供实际案例和示例来帮助用户更好地理解和掌握软件的使用方法。 此外,手册还会介绍软件的高级功能和扩展模块,如报表分析、数据导入导出、权限管理、系统设置等。对于这些高级功能,手册会提供详细的操作步骤和注意事项,帮助用户更好地进行数据分析和管理。 最后,手册还会提供一些常见问题和故障排除的解决方法,以帮助用户在使用软件时遇到问题时能够迅速解决。 总的来说,《金蝶EAS 8.0用户手册》是一本综合性的使用指南,它提供了全面而详细的软件操作说明,帮助用户快速上手并掌握金蝶EAS 8.0软件的各项功能。无论是新用户还是有一定经验的用户都可以通过这本手册来更好地使用和管理金蝶EAS 8.0软件。 ### 回答2: 金蝶eas 8.0用户手册是一本详细介绍金蝶eas 8.0企业管理软件的使用指南。该手册主要面向金蝶eas 8.0的用户,旨在帮助他们更好地了解和使用该软件。 手册内容丰富,包括了金蝶eas 8.0软件的安装方法、基本操作指南以及各个功能模块的详细介绍。在手册中,用户可以找到关于账务管理、采购管理、销售管理、生产管理、财务管理、人力资源管理等方面的详细说明和操作步骤。 用户手册以清晰的文字和配图的方式呈现,使用户可以更加直观地理解相关操作。手册中还附有常见问题解答和操作技巧,用户可以通过阅读手册迅速解决遇到的问题。 通过阅读金蝶eas 8.0用户手册,用户可以学习到如何利用该软件提高工作效率,简化业务流程,提升企业竞争力。手册还会介绍一些高级功能和扩展应用,帮助用户深入掌握软件的各种功能。 总的来说,金蝶eas 8.0用户手册是一本全面且具有指导性的使用指南,适用于金蝶eas 8.0软件的用户。通过仔细阅读手册并实践操作,用户可以更好地利用金蝶eas 8.0软件,提高企业管理水平,促进业务发展。 ### 回答3: 金蝶EAS 8.0用户手册是一份专为金蝶EAS 8.0使用者提供的详细指南。该手册主要包括软件的安装、配置、操作、功能与模块说明等方面的内容。 首先,用户手册提供了软件的安装步骤,指导用户如何正确地安装金蝶EAS 8.0软件,并给出了相关的注意事项和系统要求。 其次,手册详细介绍了软件的配置及设置。用户可以按照手册提供的步骤,完成与企业实际情况相符的配置,例如设置组织架构、设置权限、配置打印模板等。 再次,手册对软件的操作进行了详细说明。用户可以学习如何登录、进入各个模块、进行数据录入、查询、修改等操作。手册还提供了简单易懂的操作示例,帮助用户更好地掌握软件的使用。 此外,手册还对金蝶EAS 8.0软件的各种功能和模块进行了解释和介绍,如财务管理、供应链管理、人力资源管理等。每个功能模块中,手册都详细说明了各种功能的操作步骤和使用技巧,以及如何进行数据导入、导出等操作。 总的来说,金蝶EAS 8.0用户手册是一本非常实用的工具书,它为用户提供了全面、系统的软件使用指南。不管是新手还是有一定经验的用户,都可以通过手册快速学会使用金蝶EAS 8.0软件,并能够充分发挥其功能,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值