我有一個(gè)具有以下內(nèi)容的 Websphere Liberty 服務(wù)器server.xml:<managedThreadFactory jndiName="concurrent/threadFactory" maxPriority="5" /><openidConnectClient id="AppID" inboundPropagation="required" clientId="${APPID_CLIENT_ID}" clientSecret="${APPID_CLIENT_SECRET}" authorizationEndpointUrl="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}/authorization" tokenEndpointUrl="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}/token" jwkEndpointUrl="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}/publickeys" issuerIdentifier="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}" tokenEndpointAuthMethod="basic" signatureAlgorithm="none" trustAliasName="${APPID_HOST}" trustStoreRef="appidtruststore" audiences="${APPID_CLIENT_ID}" />clientSecret="${APPID_CLIENT_SECRET}"是否可以從 Java 應(yīng)用程序代碼中以編程方式讀取解密值?
1 回答

慕尼黑5688855
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
這取決于值的編碼方式。如果它是加密的,根據(jù)定義就沒(méi)有辦法輕易解密它(否則就違背了加密的目的)。
如果您只是進(jìn)行可逆編碼(例如 XOR 或 AES),您可以使用 Liberty 功能對(duì)其進(jìn)行解密。
首先,確保您在 server.xml 中啟用了以下功能:
<feature>passwordUtilities-1.0</feature>
然后,您可以使用com.ibm.websphere.crypto.PasswordUtilAPI 對(duì)其值進(jìn)行解碼,如下所示:
String rawValue = // get from System properties or env var
String decodedValue = PasswordUtil.decode(rawValue);
添加回答
舉報(bào)
0/150
提交
取消