背景:
有多个用户需要访问系统的API,但是有部分非法用户大量的调用系统API,导致系统无法正常提供服务.
解法:
对用户请求进行鉴权,屏蔽非法请求,下面是用MD5方式对用户请求鉴权.
用户请求时根据用户名和私钥生成token,服务端校验token生成是否一致.
public class Md5Utils {
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
public static String getMD5(byte[] bytes) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
char str[] = new char[16 * 2];
try {
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
md.update(bytes);
byte tmp[] = md.digest();
int k = 0;
for (int i = 0; i < 16; i++) {
byte byte0 = tmp[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
} catch (Exception e) {
// TODO
}
return new String(str);
}
public static String getMD5(String value) {
String result = "";
try {
result = getMD5(value.getBytes("UTF-8"));
} catch (Exception e) {
// TODO
}
return result;
}
public static String getToken(String username, String key) {
Date today = new Date();
String sign = getMD5(username + SIMPLE_DATE_FORMAT.format(today) + key);
return sign;
}
public static void main(String[] args) {
System.out.println(getToken("username", "password"));
}
}
分享到:
相关推荐
总结来说,这个应用实例展示了MD5作为数据哈希工具和地图API作为位置服务提供者的结合,创造出一种创新且安全的位置共享方式。通过学习和理解这两个技术,开发者可以开发出更多有趣且实用的应用,满足用户在信息安全...
本文将详细介绍标题和描述中提到的几种加密算法:AES、MD5、ECC、DES以及RSA,并结合源码库"FlyUtils"探讨它们在跨平台环境下的应用,以及如何支持进度显示和多种编码。 首先,AES(Advanced Encryption Standard)...
在“20211028_License_A00”这个文件名中,我们可以推测这可能是一个与授权或许可证相关的文件,可能包含了使用LabVIEW实现加密算法的示例代码、教程或者是特定版本的LabVIEW工具。这类文件对于学习和理解如何在...
尽管如此,MD5仍然是很多基础教学和非安全场景下的常用工具。 在标题所描述的场景中,获取CPUID并用MD5加密,可能是为了创建一种设备特有的标识。因为CPUID相对稳定且不易更改,可以作为计算机的唯一标识。然后通过...
Asp.Net MD5加密程序是一种用于安全数据处理的工具,主要功能是对用户输入的数据进行哈希加密,确保数据在传输和存储过程中的安全性。MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,它能将任意...
在命令行中,使用keytool工具(通常位于Java SDK的bin目录下)并指定keystore文件,可以获取对应的MD5和SHA1指纹。例如: ``` keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass ...
例如,可以使用CryptoAPI、OpenSSL等库来实现加解密和MD5计算。开发者可以直接调用这些库中的函数,无需从零开始编写加密算法。 在压缩包中,"crypt"这个文件名可能是加密模块的名称,它可能包含了一个或多个源文件...
有道云笔记除了提供Android SDK外,还开放了API供开发者使用,支持授权管理、用户信息、笔记本管理、笔记操作、分享链接、附件上传等多个方面的功能。 ### 出行类API #### 滴滴出行 滴滴出行提供的API包括iOS和...
3. 权限控制:如OAuth2.0或JWT(JSON Web Tokens)可能被用来实现用户认证和授权,确保只有合法用户能访问特定资源。 4. RESTful API设计:后端提供的接口应遵循REST原则,以便于前端调用和维护。 5. 测试:单元测试...
总之,申请API Key是Android应用集成第三方服务的重要步骤,确保正确获取并使用MD5指纹,以及妥善保管API Key,都是开发过程中的关键环节。通过遵循上述步骤,你可以顺利地为你的应用申请并使用Google Maps API。
5. **MD5加密**:在API交互中使用MD5加密数据,保证通信安全。 掌握这些知识点,开发者就能够构建与淘宝平台深度集成的应用,例如自动化店铺管理工具、数据分析应用或者营销自动化系统。在实际开发中,还需注意淘宝...
AES负责对文件内容进行加密,防止未经授权的访问,而MD5则用于验证解密后的文件是否正确无误。这样的组合在许多实际应用场景中非常常见,例如在云存储、电子邮件附件或软件分发等领域。 为了使用这个库,开发人员...
Go-Golang HttpAPI签名验证工具包是专为此目的设计的,它提供了生成和校验API请求签名的功能,有助于防止数据篡改和未经授权的访问。下面将详细介绍这个工具包的工作原理和使用方法。 1. **签名生成** - **哈希...
它提供了丰富的API和工具,使得开发者可以方便地进行数据上传、下载、管理和处理。在使用OSS服务时,数据的安全性是至关重要的,这就涉及到加密技术的应用。 MD5(Message-Digest Algorithm 5)是一种广泛使用的...
1. **导入必要的库**:如Windows API的头文件(如`windows.h`),以及可能的第三方库,如果需要的话,用于MD5计算,如`openssl`库。 2. **获取主板码**:通过调用Windows API函数,例如`CreateToolhelp32Snapshot`,...
1. **认证与授权**:首先,工具需要获取用户的CSDN账号权限,这通常需要用户登录并授权,以便工具能够访问其博客数据。 2. **数据抓取**:获得授权后,工具会通过API请求获取博客列表和每篇博客的详细内容。 3. **...
8. **测试工具**:为了便于开发和调试,API文档通常会提供测试示例,如使用Postman或curl命令,展示如何发送请求并解析响应。 综上所述,在线考勤系统的后端API文档详细阐述了各个接口的功能、调用方式以及交互逻辑...
5. 工具或辅助程序:如 `Authenticator.exe`,用于用户授权和获取OAuth令牌。 通过这个SDK,开发者可以: - **用户认证**:使用OAuth协议,让用户授权应用访问他们的人人网账户信息。 - **数据请求**:调用API获取...
PDFlib API在分发时,还包含了经过修改的第三方软件组件,例如ICClib、GIF图像解码器、PNG图像参考库(libpng)、Zlib压缩库、TIFFlib图像库、密码软件、JPEG软件、ExpatXML分析器以及MD5消息摘要算法等。这些组件的...