nemirst Ierakstīts Oktobris 21, 2016 Share Ierakstīts Oktobris 21, 2016 Gribēju uztaisīt, lai std::string spēj aiz sevis automātiski notīrīt no atmiņas (ar nullēm) savu glabājamo tekstu. Piemēram, glabāju paroli un negribu, lai pēc string iznīcināšanas kaut kur atmiņā tā paliktu nolasāma. Sapratu, ka nepietiek, ja iztīra tikai to, ko var dabūt caur c_str() metodi, jo saturs var būt iepriekš izmētāts dažādākajos veidos atmiņā, piemēram, samazinot stringu netiks notīrīta atmiņa. Tam var palīdzēt sava std::allocator implementācija, piemēram, http://codereview.stackexchange.com/questions/107991/hacking-a-securestring-based-on-stdbasic-string-for-c. Man tikai šis piemērs nekompilējas un nesaprotu, kam domāts " namespace std {" bloks. Vēl paliek arī problēma ar SSO (Short String Optimization), jo tam parasti ir speciāls iekšējs buferis stekā string implementācijā, kurš netiks veidots/atbrīvots ar allocator. Īpaši uz atbildi neceru, jo šis laikam advanced topiks - vai ir iespējams vispār šo mazo buferi automātiski notīrīt? Un varbūt kāds var pakomentēt to bloku, kuru nesaprotu. Link to comment Share on other sites More sharing options...
Anonīms Alkoholiķis Oktobris 21, 2016 Share Oktobris 21, 2016 Advanced topiks no usera kas nesaprot, kam ir "namespace std".. kura bridi String objekts veic sso, it seviski ja strings nav zinams kompilacijas laika? Link to comment Share on other sites More sharing options...
nemirst Oktobris 23, 2016 Author Share Oktobris 23, 2016 (labots) Es biju domājis, par saturu, kas ir iekš namespace std. Bet ok, es tagad nesākšu aizstāvēt tamlīdzīgus izteikumus, kā tas parasti gadās šajā forumā - nav jēgas. Neesmu pētījis, bet man šķiet, ka SSO ir realizēts runtime, paskatoties, cik garš ir strings un tad ievieto to iekšējā buferī, ja tas ir pietiekami īss. Tāpēc pieļauju, ka ir neliels space overhead std::stringam, ja arī tas ir tukšs. Pretējā gadījumā izmanto allocator. Labots Oktobris 23, 2016 - nemirst Link to comment Share on other sites More sharing options...
Back Door Man Oktobris 24, 2016 Share Oktobris 24, 2016 kurš klauns Tev teica/mācija, ka dzēšana kaut ko pasargās?! lieto kripto, nevis jājies ar atmiņu adresēm kuras vēlāk programmai var izrādīties noderīgas. Link to comment Share on other sites More sharing options...
Anonīms Alkoholiķis Oktobris 24, 2016 Share Oktobris 24, 2016 (labots) Pats ari esi klauns. Uz ka lai kripto saktu lietot, ja ne nesifretiem/plaintext ievaddatiem? Labots Oktobris 24, 2016 - Anonīms Alkoholiķis Link to comment Share on other sites More sharing options...
nemirst Oktobris 24, 2016 Author Share Oktobris 24, 2016 Jā, plaintext dati būs, protams, kādā brīdī. Mērķis ir šo brīdi samazināt. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!