Merge pull request 'fix tokens characters' (#126) from tonitch/back/fixTokens into master
All checks were successful
Build and test backend / Test-backend (push) Successful in 1m19s
deploy to production / deploy-frontend (push) Successful in 25s
deploy to production / deploy-backend (push) Successful in 2m20s
Build and test FrontEnd / Build-frontend (push) Successful in 24s
Build and test backend / Build-backend (push) Successful in 2m11s

Reviewed-on: #126
Reviewed-by: Wal <karpinskiwal@gmail.com>
Reviewed-by: Maxime <231026@umons.ac.be>
This commit is contained in:
Maxime 2024-03-16 12:42:54 +01:00
commit c955fbf5f8

View File

@ -9,6 +9,7 @@ import ovh.herisson.Clyde.Tables.User;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Base64;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@ -30,13 +31,10 @@ public class TokenService {
new SecureRandom().nextBytes(bytes); new SecureRandom().nextBytes(bytes);
for (int i = 0; i < bytes.length; i++) { for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) (((bytes[i]+256)%256 %95+ 32)); bytes[i] = (byte) (((bytes[i]+256)%256 %95+ 32));
while ((char)bytes[i] == ';'){
bytes[i] = new SecureRandom().generateSeed(1)[0];
}
} }
// will never end up in the catch because of the way that SecureRandom.nextBytes is implemented // will never end up in the catch because of the way that SecureRandom.nextBytes is implemented
try { try {
return new String(bytes,"ISO_8859_1"); return new String(Base64.getEncoder().encode(bytes),"ISO_8859_1");
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }