以 GCM 為基礎的函式
最後更新: 2025年5月15日
- 適用對象:
- Campaign Classic v7
為了改善安全性,我們不再將AES (進階加密標準)演演算法與CBC (密碼區塊鏈結)模式搭配用於密碼編譯操作。 已引入新的加密功能。 這些函式會將AES與Galois/Counter Mode (AES-GCM)搭配使用,提供更安全的替代方案。 這些函式可在JavaScript、JSP、SOAP API和XML結構描述中使用,可讓客戶從CBC轉換到GCM進行加密和解密。
本檔案列出新推出的AES-GCM函式以及即將淘汰的CBC型函式。
新函式:
可用於GCM的舊版函式:
String
encrypted = EncryptString (
String
decrypted
)
引數:解密的文字
傳回值:已加密
結構描述: xtk:session
靜態:是
EncryptStringWithServerPassword
使用含GCM模式的AES演演算法,以伺服器金鑰加密字元字串。
String
encrypted = EncryptStringWithServerPassword (
String
decrypted
)
引數:已解密
傳回值:已加密
結構描述: xtk:session
靜態:是
Javascript函式
encryptString()
使用例項的鍵或任何其他鍵加密字元字串。
encryptString (str [, key
] [, useSalt ])
引數:
- str:要加密的字元字串。
- 金鑰:AES加密金鑰以base 64:256位元編碼(如果金鑰長度為32);192位元(如果金鑰長度為24);128位元(如果金鑰長度為16或未指定金鑰)。
- useSalt:使用資料的Salt進行加密。 預設為True。
傳回值:傳回加密的字元字串。
備註
加密會根據下列方法進行:
- unicode字元字串會轉換為UTF-8字串。
- 檢查字元會新增到加密文字的末端。
- 在Galois/Counter Mode (GCM)模式中,此字串是使用AES演演算法加密的,使用salt加上12位元組初始化向量和16位元組標籤。 如果未提供索引鍵作為引數,則會使用例項索引鍵。
- 加密文字將包含標籤和初始化向量。
- 然後加密區塊會轉換為基底64。
解密是使用decryptString函式執行。
功能
提供於:
- 內容管理
- 傳遞屬性
- 傳遞訊息
- 類型規則
- 匯入
- JSSP
- SOAP方法
- WebApp
- 工作流程
decryptString()
使用例項的鍵或任何其他鍵解密字元字串。 此舊版函式可搭配GCM使用。 不建議使用AES-CBC模式加密的加密文字解密。
decryptString (str [, key
] [, useSalt ])
引數:
- str:要解密的字元字串。
- 金鑰:AES加密金鑰以base 64:256位元編碼(如果金鑰長度為32);192位元(如果金鑰長度為24);128位元(如果金鑰長度為16或未指定金鑰)。
- useSalt:使用資料的鹽來解密。 預設為True。
傳回值:傳回解密的字元字串。
警告:使用此方法無法再解密儲存在資料庫中的密碼(選項/外部帳戶)。 為此,請使用decryptPassword。
decryptPassword()
解密儲存在外部帳戶中的密碼。 此舊版函式可搭配GCM使用。 不建議使用AES-CBC模式加密的加密文字解密。
decryptPassword (str)
引數:
- str:要解密的字元字串。
傳回值:傳回純文字密碼。
備註
無法在工作流程、網頁應用程式、報表或傳遞中呼叫此函式。 可在JSSP或SOAP呼叫實作中呼叫它。 範例:
function nms_extAccount_LogonToRemoteInstance(remoteInstanceUrl, login, encryptedPassword) {
var cnx = null, sessionService = null;
try
{
var cnx = new HttpSoapConnection(remoteInstanceUrl + '/nl/jsp/soaprouter.jsp', 'utf-8', 0);
sessionService = new SoapService(cnx, 'xtk:session');
sessionService.addMethod("Logon", "xtk:session#Logon",
["token", "string", "login", "string", "password", "string", "parameters", "NLElement"],
["sessionToken", "string", "sessionInfo", "NLElement", "securityToken", "string"]);
return sessionService.Logon("", login, decryptPassword(encryptedPassword), <parameters/>);
}
catch( e ) {
logError(e);
}
finally {
if( sessionService ) sessionService.dispose();
if( cnx ) cnx.dispose();
}
})
已棄用的函式
下列函式已完全淘汰:
- cryptString
- 加密
- EncryptServerPassword
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1