- Milyen okostelefont vegyek?
- Megtartotta Európában a 7500 mAh-t az Oppo
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Apple iPhone 16 - ígéretek földje
- Apple iPhone 17 - alap
- Nincs több titok: íme, a Samsung Galaxy TriFold!
- Google Pixel topik
- Yettel topik
- Samsung Galaxy A54 - türelemjáték
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
Új hozzászólás Aktív témák
-
ekkold
őstag
válasz
cinemazealot
#32
üzenetére
Igazából ennek akkor van értelme, ha van tárhelyed valahol (ahol php-t is futtathatsz), vagy ha van saját NAS-od, vagy szervered. Ha otthon egy sima PC-n akarnám használni, akkor egy javascript verzió lenne az ügyesebb.
-
ekkold
őstag
válasz
Geri Bátyó
#31
üzenetére
Elvileg javascript-ben is meg lehetne csinálni egy helyben futtatható verziót, ahhoz a böngészőn kívül nem kellene más. Viszont ezzel a kétfaktoros azonosítás gyakorlatilag az egyfaktorossal azonos biztonsági szinte süllyed. Ettől függetlenül nem vetem el a dolgot, (lehet, hogy megcsinálom) mert még mindig jobbnak érzem mint mondjuk egy totp.app használatát. Meg egy ilyet bárki tudna használni...
-
ekkold
őstag
válasz
Geri Bátyó
#28
üzenetére
Ez nem egy kész megoldás, csak a lényeg, mindenféle körítés nélkül. Tehát kell egy minimális webprogramozói ismeret ahhoz, hogy fel tudd használni.
Lennének ötleteim, hogyan lehetne viszonyleg egyszerűen többfelhasználós weboldalt csinálni ehhez. Tehát mondjuk minden felhasználónak lenne egy név/jelszó párosa, amit ha megad akkor látja az aktuális idő alapú kulcsot, ill. fel tudja venni/módosíthatja a fő kulcsot. Csak ezt több idő lenne megvalósítani, és nem biztos, hogy ennyi energiát/időt rá akarok szánni erre. A sajátom, amire készült azt már tudja, napi használatban van. -
ekkold
őstag
Bemásoltam korábban egy dekódoló függvényt, én is a netről szedtem. Teljesen jól működik, csak használni kell.
Azon kívül talán léteznek még ingyenes tárhely szolgáltatók, ahol php-t is lehet használni. Egy ilyen apphoz nagyon kevés hely is elegendő. Az ATW-n pl. most is lehet ingyen tárhelyet regisztrálni - mindjárt kipróbálom egy-e rajta... -
ekkold
őstag
válasz
cinemazealot
#4
üzenetére
Csak javaslat, de szerintem építsd be a base32 dekódoló függvényt a php fájlodba, így nem kellene külső 3. fél által gyártott kódot meghívnod.
-
ekkold
őstag
Hasonlót gyártottam én is, persze jelszavas védelemmel kiegészítve.
Több kulcsot kezel, és egy táblázatban jeleníti meg, valahogy így:
Hogy ne kelljen külső dekódert használni azt is beemeltem a php kódba:
$map = array(
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', // 7
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', // 15
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', // 23
'Y', 'Z', '2', '3', '4', '5', '6', '7', // 31
'=' // padding char
);
$flippedMap = array(
'A'=>'0', 'B'=>'1', 'C'=>'2', 'D'=>'3', 'E'=>'4', 'F'=>'5', 'G'=>'6', 'H'=>'7',
'I'=>'8', 'J'=>'9', 'K'=>'10', 'L'=>'11', 'M'=>'12', 'N'=>'13', 'O'=>'14', 'P'=>'15',
'Q'=>'16', 'R'=>'17', 'S'=>'18', 'T'=>'19', 'U'=>'20', 'V'=>'21', 'W'=>'22', 'X'=>'23',
'Y'=>'24', 'Z'=>'25', '2'=>'26', '3'=>'27', '4'=>'28', '5'=>'29', '6'=>'30', '7'=>'31'
);
function decode($input) {
global $map;
global $flippedMap;
if(empty($input)) return;
$paddingCharCount = substr_count($input, $map[32]);
$allowedValues = array(6,4,3,1,0);
if(!in_array($paddingCharCount, $allowedValues)) return false;
for($i=0; $i<4; $i++){
if($paddingCharCount == $allowedValues[$i] &&
substr($input, -($allowedValues[$i])) != str_repeat($map[32], $allowedValues[$i])) return false;
}
$input = str_replace('=','', $input);
$input = str_split($input);
$binaryString = "";
for($i=0; $i < count($input); $i = $i+8) {
$x = "";
if(!in_array($input[$i], $map)) return false;
for($j=0; $j < 8; $j++) {
$x .= str_pad(base_convert($flippedMap[@$input[$i + $j]], 10, 2), 5, '0', STR_PAD_LEFT);
}
$eightBits = str_split($x, 8);
for($z = 0; $z < count($eightBits); $z++) {
$binaryString .= ( ($y = chr(base_convert($eightBits[$z], 2, 10))) || ord($y) == 48 ) ? $y:"";
}
}
return $binaryString;
}//fv
/*
function encode($input, $padding = true) {
global $map;
global $flippedMap;
if(empty($input)) return "";
$input = str_split($input);
$binaryString = "";
for($i = 0; $i < count($input); $i++) {
$binaryString .= str_pad(base_convert(ord($input[$i]), 10, 2), 8, '0', STR_PAD_LEFT);
}
$fiveBitBinaryArray = str_split($binaryString, 5);
$base32 = "";
$i=0;
while($i < count($fiveBitBinaryArray)) {
$base32 .= $map[base_convert(str_pad($fiveBitBinaryArray[$i], 5,'0'), 2, 10)];
$i++;
}
if($padding && ($x = strlen($binaryString) % 40) != 0) {
if($x == 8) $base32 .= str_repeat($map[32], 6);
else if($x == 16) $base32 .= str_repeat($map[32], 4);
else if($x == 24) $base32 .= str_repeat($map[32], 3);
else if($x == 32) $base32 .= $map[32];
}
return $base32;
}
*/
Új hozzászólás Aktív témák
- Xbox tulajok OFF topicja
- Dobozos formában is befutott az AMD 32 GB-os csúcs-Radeonja
- Milyen okostelefont vegyek?
- Porszemnyi a világ legkisebb OLED pixele
- Megtartotta Európában a 7500 mAh-t az Oppo
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- LEGO klub
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Gumi és felni topik
- Milyen autót vegyek?
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA -Kártyafüggetlen, MS3604
- DELL PowerEdge R730xd 16LFF 160TB+400GB 2U rack - 2xE5-2683v4 (16c/32t),256GB RAM,2x10G NET,HBA330
- Bomba ár! Lenovo X1 Carbon 1st : i5-3GEN I 8GB I 240SSD I 14" FHD I mDP I Cam I W10 I Gari!
- GYÖNYÖRŰ iPhone 12 Mini 64GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS3658, 100% Akkumulátor
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő




