![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 0 Dołączył: 30.07.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam społeczność.
Podpowiedzcie proszę, jak skonwertować taki kawałek kodu z PowerShell, czy c# na PHP? $randomNumberGenerator = [Security.Cryptography.RandomNumberGenerator]::Create() $randomBytes = [byte[]]::new(32) $randomNumberGenerator.GetBytes($randomBytes) $codeChallenge = [Convert]::ToBase64String([Security.Cryptography.SHA256]::Create().ComputeHash([ Text.Encoding]::UTF8.GetBytes($codeVerifier))) Zrobiłem coś takiego, tylko nie wiem czy dobrze: $bytes = ''; for ($i = 0; $i < 32;$i++) { $byte = random_bytes(1); $bytes .= $byte; } $codeVerifier = base64_encode($bytes); $codeChallengeHash = hash('sha256', $codeVerifier); $codeChallenge = str_replace('/', '_', $codeChallengeHash); Pomoże ktoś? Udało się. Wystarczył trzeci parametr funkcji hash() ustawić na true. I działa. Ten post edytował busterek 6.11.2024, 13:20:55 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 26.12.2024 Ostrzeżenie: (0%) ![]() ![]() |
Witam społeczność. Podpowiedzcie proszę, jak skonwertować taki kawałek kodu z PowerShell, czy c# na PHP? $randomNumberGenerator = [Security.Cryptography.RandomNumberGenerator]::Create() $randomBytes = [byte[]]::new(32) $randomNumberGenerator.GetBytes($randomBytes) $codeChallenge = [Convert]::ToBase64String([Security.Cryptography.SHA256]::Create().ComputeHash([ Text.Encoding]::UTF8.GetBytes($codeVerifier))) Zrobiłem coś takiego, tylko nie wiem czy dobrze: $bytes = ''; for ($i = 0; $i < 32;$i++) { $byte = random_bytes(1); $bytes .= $byte; } $codeVerifier = base64_encode($bytes); $codeChallengeHash = hash('sha256', $codeVerifier); $codeChallenge = str_replace('/', '_', $codeChallengeHash); Pomoże ktoś? Udało się. Wystarczył trzeci parametr funkcji hash() ustawić na true. I działa. $bytes = random_bytes(32); $codeVerifier = base64_encode($bytes); $codeChallengeHash = hash('sha256', $codeVerifier, true); $codeChallenge = rtrim(strtr(base64_encode($codeChallengeHash), '+/', '-_'), '='); To powinno być zgodne z algorytmem PKCE |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.05.2025 - 23:14 |