加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
utility.gradle 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
ezy 提交于 2020-11-30 15:55 . #
import javax.crypto.Cipher
import java.security.KeyFactory
import java.security.spec.PKCS8EncodedKeySpec
import java.security.spec.X509EncodedKeySpec;
ext.rsaEncrypt = { String input ->
def key = Base64.decoder.decode(file("tools/key.pri").readBytes())
def privateKey = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(key))
def cipher = Cipher.getInstance("RSA")
cipher.init(Cipher.ENCRYPT_MODE, privateKey)
return cipher.doFinal(input.getBytes()).encodeHex().toString()
}
ext.rsaDecrypt = { String input ->
def key = Base64.decoder.decode(file("tools/key.pub").readBytes())
def publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(key))
def cipher = Cipher.getInstance("RSA")
cipher.init(Cipher.DECRYPT_MODE, publicKey)
return new String(cipher.doFinal(input.decodeHex()))
}
ext.initFlavorConfig = { flavor ->
println("====> ${flavor.name}")
if (extensions.extraProperties.has("configFields") && configFields[flavor.name]) {
// println("configFields -> ${configFields[flavor.name]}")
for (def item : configFields[flavor.name]) {
flavor.buildConfigField "String", item.key, '"' + item.value + '"'
}
}
if (extensions.extraProperties.has("stringValues") && stringValues[flavor.name]) {
// println("stringValues -> ${stringValues[flavor.name]}")
for (def item : stringValues[flavor.name]) {
flavor.resValue "string", item.key, item.value
}
}
if (extensions.extraProperties.has("placeholders") && placeholders[flavor.name]) {
// println("placeholders -> ${placeholders[flavor.name]}")
flavor.addManifestPlaceholders(placeholders[flavor.name])
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化