我有一個具有以下內容的 Websphere Liberty 服務器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 應用程序代碼中以編程方式讀取解密值?
1 回答

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