MCPcopy Create free account
hub / github.com/diyhi/bbs / createSecureLink

Method createSecureLink

src/main/java/cms/utils/SecureLink.java:95–105  ·  view source on GitHub ↗

生成安全链接 @param link 链接 例如 http://127.0.0.1/bbs-bucket/file/topic/2020-10-11/file/6197f199f6234f2791416282d94a805cb1.rar @param fileName 文件名称 @param secret 密钥 @param expires 有效时间 单位/秒 @return

(String link,String fileName,String secret,Long expires)

Source from the content-addressed store, hash-verified

93 * @return
94 */
95 public static String createSecureLink(String link,String fileName,String secret,Long expires){
96 String uri = UriComponentsBuilder.fromUriString(link).build().getPath();
97 String time = String.valueOf((System.currentTimeMillis() / 1000) + expires);
98 String md5 = org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString(DigestUtils.md5(secret + uri + time));
99
100 return UriComponentsBuilder.fromUriString(link)
101 .replaceQueryParam("md5", md5)
102 .replaceQueryParam("expires", time)
103 .replaceQueryParam("fileName", fileName)
104 .build().toString();
105 }
106
107 /**
108 * 本地存储生成安全链接(nginx获取URI包括虚拟目录)

Callers 1

createSignLinkMethod · 0.95

Calls 3

getPathMethod · 0.45
toStringMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected