358
edits
Line 235: | Line 235: | ||
---- | ---- | ||
=== ENCRYPT: Start Encrypted Session === | === ENCRYPT: Start Encrypted Session === | ||
Will cause all future messages from the server, except the first (the reply to the ENCRYPT command itself), to be encrypted (128 bit [[Wikipedia:Advanced Encryption Standard|AES]]). The client will also have to encrypt all future requests sent to the server. All non-encrypted messages will be discarded by the server. The encryption key is the [[Wikipedia:MD5|MD5]] hash of a special ''API | Will cause all future messages from the server, except the first (the reply to the ENCRYPT command itself), to be encrypted (128 bit [[Wikipedia:Advanced Encryption Standard|AES]]). The client will also have to encrypt all future requests sent to the server. All non-encrypted messages will be discarded by the server. The encryption key is the [[Wikipedia:MD5|MD5]] hash of a special ''UDP API Key'' (defined in the users profile) concatenated with the salt string as given in the reply to the ENCRYPT message. A normal AUTH message is still necessary to authenticate and should follow the ENCRYPT command once the API has acknowledged the encryption. | ||
'''Command String:''' | '''Command String:''' | ||
Line 249: | Line 249: | ||
* ''user'' is the user name. | * ''user'' is the user name. | ||
* ''type'' is the type of encryption; 1 => 128 bit AES (only one defined). | * ''type'' is the type of encryption; 1 => 128 bit AES (only one defined). | ||
* ''API | * ''API Key'' is the one defined in the {{AniDBLink|profile|profile settings page}}. | ||
* It is not possible to disable the encryption once enabled while staying logged in. | * It is not possible to disable the encryption once enabled while staying logged in. | ||
** A logout (the logout message needs to be correctly encrypted) or timeout will disable the encryption. | ** A logout (the logout message needs to be correctly encrypted) or timeout will disable the encryption. | ||
* In order to minimize server load, encryption should be disabled by default and should have to be enabled manually by the user in the configuration options. | * In order to minimize server load, encryption should be disabled by default and should have to be enabled manually by the user in the configuration options. | ||
* The encryption key is md5( | * The encryption key is md5(api_key_of_user+''salt''). | ||
* Padding of the message needs to be done according to the PKCS5Padding scheme. | * Padding of the message needs to be done according to the PKCS5Padding scheme. | ||