Я пытаюсь сделать Rest Service с PHP. Мне нужно зашифровать массив деталей пользователя в зашифрованный токен и его необходимо расшифровать. Существуют ли какие-либо простые рамки для службы PHP-rest с угловыми js.
Предположим на мгновение, что у вас есть такой массив данных:
<?php
$userDataArray = [
'username' => "user101",
'password' => "letMeIn101",
'email' => "[email protected]",
'emailPass' => "letMeIn101Again",
'accountNr' => "CB-1087-4789-US-CA-1",
'accountKey' => '${6@/A-p*h154a',
'swiftKey' => '@%o98-eZ6_ii',
];
И вы хотели бы "2-way-encrypt" его в PHP, чтобы использовать его в другом приложении; Вы можете использовать openssl_encrypt() и openssl_decrypt() следующим образом:
<?php
// FIRST CONVERT THE $userDataArray INTO JSON STRING
$userDataJSON = json_encode($userDataArray);
// NEXT CREATE A PASSWORD AND METHOD TO USE FOR ENCRYPTION...
$pass = 'suDoLetMeIn';
$method = 'aes-128-cbc';
$initVector = "0123456789012345"; // MUST BE 16 BYTES LONG...
// NOW ENCRYPT THE DATA...
$encrypted = openssl_encrypt($userDataJSON, $method, $pass, false, $initVector);
// TRY DUMPING THE ENCRYPTED DATA TO SEE WHAT YOU GET
var_dump($encrypted);
// ATTEMPT TO DECRYPT THE DATA
$decrypted = openssl_decrypt($encrypted, $method, $pass, false, $initVector);
// AGAIN TRY DUMPING THE DECRYPTED DATA TO SEE WHAT YOU GET
// REMEMBER TO DECODE IT SINCE IT WAS JSON-ENCODED IN THE FIRST PLACE...
var_dump($decrypted);
var_dump(json_decode($decrypted));
Выбранные var_dumps будут соответственно создавать нечто вроде ::
string 'CwwYkIb319h+xSRkv+uV7PaAJ52ouwGWn0pA/cVQmVtzzmPMzBsH9iOWelNmiNUSeaT93624KoTAkFyXnlw3jWAzW8ekO8x+sKMnhZuXFiaIHDaEsrhIpydHLMhwtgwDo3g2x1vY+9hGuqAm2P+eh925NmKCFcuDgZgDBuoaEGV8CXqPBVRWV8gNrw70s9JPmiXcntALM9TtqGLpRpVBjCBP/o0ScliHCehH1+9eKQyg5zkzJApE7jov/hbluzpF2pDfZ7QQpcOVuqqcCyRPlQ==' (length=280)
string '{"username":"user101","password":"letMeIn101","email":"[email protected]","emailPass":"letMeIn101Again","accountNr":"CB-1087-4789-US-CA-1","accountKey":"${6@\/A-p*h154a","swiftKey":"@%o98-eZ6_ii"}' (length=197)
object(stdClass)[8]
public 'username' => string 'user101' (length=7)
public 'password' => string 'letMeIn101' (length=10)
public 'email' => string '[email protected]' (length=18)
public 'emailPass' => string 'letMeIn101Again' (length=15)
public 'accountNr' => string 'CB-1087-4789-US-CA-1' (length=20)
public 'accountKey' => string '${6@/A-p*h154a' (length=14)
public 'swiftKey' => string '@%o98-eZ6_ii' (length=12)
Реализация сервера RESTful для CodeIgniter с использованием одной библиотеки, одного файла конфигурации и одного контроллера.
Подробнее об аутентификации читайте здесь.... https://github.com/chriskacerguis/codeigniter-restserver#authentication