Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Viega, John (VerfasserIn), Messier, Matt (VerfasserIn)
Format: Buch
Sprache:German
Veröffentlicht: Beijing [u.a.] O'Reilly 2003
Ausgabe:1. ed.
Schlagworte:
Online-Zugang:Inhaltsverzeichnis
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

MARC

LEADER 00000nam a2200000 c 4500
001 BV017124672
003 DE-604
005 20141217
007 t
008 030506s2003 gw ad|| |||| 00||| ger d
016 7 |a 967425751  |2 DE-101 
020 |a 9780596003944  |9 978-0-596-00394-4 
020 |z 0596003943  |c kart. : EUR 48.00 (freier Pr.)  |9 0-596-00394-3 
035 |a (OCoLC)248842252 
035 |a (DE-599)BVBBV017124672 
040 |a DE-604  |b ger  |e rakddb 
041 0 |a ger 
044 |a gw  |c DE 
049 |a DE-898  |a DE-573  |a DE-473  |a DE-Aug4  |a DE-706  |a DE-634  |a DE-526  |a DE-11  |a DE-188  |a DE-703 
050 0 |a QA76.73.C15 
082 0 |a 005.133 
084 |a ST 250  |0 (DE-625)143626:  |2 rvk 
084 |a ST 276  |0 (DE-625)143642:  |2 rvk 
100 1 |a Viega, John  |e Verfasser  |4 aut 
245 1 0 |a Secure programming cookbook for C and C++  |b [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]  |c John Viega and Matt Messier 
250 |a 1. ed. 
264 1 |a Beijing [u.a.]  |b O'Reilly  |c 2003 
300 |a XXV, 762 S.  |b 24 cm. - Ill., graph. Darst. 
336 |b txt  |2 rdacontent 
337 |b n  |2 rdamedia 
338 |b nc  |2 rdacarrier 
650 4 |a Softwareentwicklung - C <Programmiersprache> - Datensicherung 
650 4 |a Softwareentwicklung - C++ - Datensicherung 
650 4 |a Softwareentwicklung - Kryptologie - C <Programmiersprache> 
650 4 |a Softwareentwicklung - Kryptologie - C++ 
650 4 |a C (Computer program language) 
650 4 |a C++ (Computer program language) 
650 4 |a Computer security 
650 4 |a Computer software  |x Development 
650 0 7 |a Softwareentwicklung  |0 (DE-588)4116522-6  |2 gnd  |9 rswk-swf 
650 0 7 |a C  |g Programmiersprache  |0 (DE-588)4113195-2  |2 gnd  |9 rswk-swf 
650 0 7 |a C++  |0 (DE-588)4193909-8  |2 gnd  |9 rswk-swf 
650 0 7 |a Datensicherung  |0 (DE-588)4011144-1  |2 gnd  |9 rswk-swf 
650 0 7 |a Kryptologie  |0 (DE-588)4033329-2  |2 gnd  |9 rswk-swf 
689 0 0 |a Softwareentwicklung  |0 (DE-588)4116522-6  |D s 
689 0 1 |a C  |g Programmiersprache  |0 (DE-588)4113195-2  |D s 
689 0 2 |a Datensicherung  |0 (DE-588)4011144-1  |D s 
689 0 |5 DE-604 
689 1 0 |a Softwareentwicklung  |0 (DE-588)4116522-6  |D s 
689 1 1 |a C++  |0 (DE-588)4193909-8  |D s 
689 1 2 |a Datensicherung  |0 (DE-588)4011144-1  |D s 
689 1 |5 DE-604 
689 2 0 |a Softwareentwicklung  |0 (DE-588)4116522-6  |D s 
689 2 1 |a Kryptologie  |0 (DE-588)4033329-2  |D s 
689 2 2 |a C  |g Programmiersprache  |0 (DE-588)4113195-2  |D s 
689 2 |5 DE-604 
689 3 0 |a Softwareentwicklung  |0 (DE-588)4116522-6  |D s 
689 3 1 |a Kryptologie  |0 (DE-588)4033329-2  |D s 
689 3 2 |a C++  |0 (DE-588)4193909-8  |D s 
689 3 |5 DE-604 
700 1 |a Messier, Matt  |e Verfasser  |4 aut 
856 4 2 |m HEBIS Datenaustausch  |q application/pdf  |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010323986&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA  |3 Inhaltsverzeichnis 
999 |a oai:aleph.bib-bvb.de:BVB01-010323986 

Datensatz im Suchindex

DE-473_call_number 61/ST 250c01 WX 37553
DE-473_location 6
DE-BY-UBG_katkey 2205020
DE-BY-UBG_local_notation ST 250c01
DE-BY-UBG_media_number 013106573830
_version_ 1811359157771567104
adam_text Secure Programming Cookbook for C and C++ John Viega and Matt Messier O REILLY ridge - Eamr amp;m • Koln • Paris • Sebastopol • Taipei • Tokyo Table of Contents Foreword xiii Preface xvii 1 Safe Initialization 1 1 1 Sanitizing the Environment 1 1 2 Restricting Privileges on Windows 7 1 3 Dropping Privileges in setuid Programs 16 1 4 Limiting Risk with Privilege Separation 20 1 5 Managing File Descriptors Safely 23 1 6 Creating a Child Process Securely 26 1 7 Executing External Programs Securely 28 1 8 Executing External Programs Securely 33 1 9 Disabling Memory Dumps in the Event of a Crash 35 2 Access Control 38 2 1 Understanding the Unix Access Control Model 38 2 2 Understanding the Windows Access Control Model 41 2 3 Determining Whether a User Has Access to a File on Unix 43 2 4 Determining Whether a Directory Is Secure 45 2 5 Erasing Files Securely 47 2 6 Accessing File Information Securely 53 2 7 Restricting Access Permissions for New Files on Unix 55 2 8 Locking Files 57 2 9 Synchronizing Resource Access Across Processes on Unix 60 2 10 Synchronizing Resource Access Across Processes on Windows 63 2 11 Creating Files for Temporary Use 65 2 12 Restricting Filesystem Access on Unix 68 2 13 Restricting Filesystem and Network Access on FreeBSD 69 v 3 Input Validation 71 3 1 Understanding Basic Data Validation Techniques 71 3 2 Preventing Attacks on Formatting Functions 75 3 3 Preventing Buffer Overflows 78 3 4 Using the SafeStr Library 85 3 5 Preventing Integer Coercion and Wrap-Around Problems 88 3 6 Using Environment Variables Securely 92 3 7 Validating Filenames and Paths 97 3 8 Evaluating URL Encodings 99 3 9 Validating Email Addresses 101 3 10 Preventing Cross-Site Scripting 103 3 11 Preventing SQL Injection Attacks 107 3 12 Detecting Illegal UTF-8 Characters 110 3 13 Preventing File Descriptor Overflows When Using select() 112 4 Symmetric Cryptography Fundamentals 116 4 1 Representing Keys for Use in Cryptographic Algorithms 117 4 2 Generating Random Symmetric Keys 119 4 3 Representing Binary Keys (or Other Raw Data) as Hexadecimal 120 4 4 Turning ASCII Hex Keys (or Other ASCII Hex Data) into Binary 121 4 5 Performing Base64 Encoding 123 4 6 Performing Base64 Decoding 125 4 7 Representing Keys (or Other Binary Data) as English Text 128 4 8 Converting Text Keys to Binary Keys 130 4 9 Using Salts, Nonces, and Initialization Vectors 133 4 10 Deriving Symmetric Keys from a Password 136 4 11 Algorithmically Generating Symmetric Keys from One Base Secret 141 4 12 Encrypting in a Single Reduced Character Set 146 4 13 Managing Key Material Securely 149 4 14 Timing Cryptographic Primitives • 150 5 Symmetric Encryption 155 5 1 Deciding Whether to Use Multiple Encryption Algorithms 155 5 2 Figuring Out Which Encryption Algorithm Is Best 156 5 3 Selecting an Appropriate Key Length 160 5 4 Selecting a Cipher Mode 162 5 5 Using a Raw Block Cipher „ 171 5 6 Using a Generic CBC Mode Implementation 175 5 7 Using a Generic CFB Mode Implementation 186 vi | Table of Contents 5 8 Using a Generic OFB Mode Implementation 192 5 9 Using a Generic CTR Mode Implementation 197 5 10 Using CWC Mode 202 5 11 Manually Adding and Checking Cipher Padding 205 5 12 Precomputing Keystream in OFB, CTR, CCM, or CWC Modes (or with Stream Ciphers) 207 5 13 Parallelizing Encryption and Decryption in Modes That Allow It (Without Breaking Compatibility) 208 5 14 Parallelizing Encryption and Decryption in Arbitrary Modes (Breaking Compatibility) 212 5 15 Performing File or Disk Encryption 213 5 16 Using a High-Level, Error-Resistant Encryption and Decryption API 217 5 17 Performing Block Cipher Setup (for CBC, CFB, OFB, and ECB Modes) in OpenSSL 221 5 18 Using Variable Key-Length Ciphers in OpenSSL 226 5 19 Disabling Cipher Padding in OpenSSL in CBC Mode 227 5 20 Performing Additional Cipher Setup in OpenSSL 228 5 21 Querying Cipher Configuration Properties in OpenSSL 229 •5 22 Performing Low-Level Encryption and Decryption with OpenSSL 230 5 23 Setting Up and Using RC4 233 5 24 Using One-Time Pads 236 5 25 Using Symmetric Encryption with Microsoft s CryptoAPI 237 5 26 Creating a CryptoAPI Key Object from Raw Key Data 244 5 27 Extracting Raw Key Data from a CryptoAPI Key Object 246 6 Hashes and Message Authentication 249 6 1 Understanding the Basics of Hashes and MACs 249 6 2 Deciding Whether to Support Multiple Message Digests or MACs 253 6 3 Choosing a Cryptographic Hash Algorithm 254 6 4 Choosing a Message Authentication Code 258 6 5 Incrementally Hashing Data 262 6 6 Hashing a Single String 267 6 7 Using a Cryptographic Hash 269 6 8 Using a Nonce to Protect Against Birthday Attacks 270 6 9 Checking Message Integrity 274 6 10 Using HMAC 276 6 11 Using OMAC (a Simple Block Cipher-Base^ MAC) 280 6 12 Using HMAC or OMAC with a Nonce 285 6 13 Using a MAC That s Reasonably Fast in Software and Hardware 286 Table of Contents I vii 6 14 Using a MAC That s Optimized for Software Speed 287 6 15 Constructing a Hash Function from a Block Cipher 291 6 16 Using a Block Cipher to Build a Full-Strength Hash Function 294 6 17 Using Smaller MAC Tags 298 6 18 Making Encryption and Message Integrity Work Together 298 6 19 Making Your Own MAC 300 6 20 Encrypting with a Hash Function 301 6 21 Securely Authenticating a MAC (Thwarting Capture Replay Attacks) 303 6 22 Parallelizing MACs 304 7 Public Key Cryptography 307 7 1 Determining When to Use Public Key Cryptography 309 7 2 Selecting a Public Key Algorithm • 311 7 3 Selecting Public Key Sizes 312 7 4 Manipulating Big Numbers 315 7 5 Generating a Prime Number (Testing for Primality) 323 7 6 Generating an RSA Key Pair ; 327 7 7 Disentangling the Public and Private Keys in OpenSSL 329 7 8 Converting Binary Strings to Integers for Use with RSA 330 7 9 Converting Integers into Binary Strings for Use with RSA 331 7 10 Performing Raw Encryption with an RSA Public Key 332 7 11 Performing Raw Decryption Using an RSA Private Key 336 7 12 Signing Data Using an RSA Private Key 338 7 13 Verifying Signed Data Using an RSA Public Key 340 7 14 Securely Signing and Encrypting with RSA 343 7 15 Using the Digital Signature Algorithm (DSA) 347 7 16 Representing Public Keys and Certificates in Binary (DER Encoding) 352 7 17 Representing Keys and Certificates in Plaintext (PEM Encoding) 355 8 Authentication and Key Exchange 362 8 1 Choosing an Authentication Method 362 8 2 Getting User and Group Information on Unix 372 8 3 Getting User and Group Information on Windows 375 8 4 Restricting Access Based on Hostname or IP Address 379 8 5 Generating Random Passwords and Passphrases 387 8 6 Testing the Strength of Passwords 391 8 7 Prompting for a Password 392 8 8 Throttling Failed Authentication Attempts 398 8 9 Performing Password-Based Authentication with crypt() 400 viii | Table of Contents 8 10 Performing Password-Based Authentication with MD5-MCF 402 8 11 Performing Password-Based Authentication with PBKDF2 408 8 12 Authenticating with PAM 411 8 13 Authenticating with Kerberos 414 8 14 Authenticating with HTTP Cookies 419 8 15 Performing Password-Based Authentication and Key Exchange 422 8 16 Performing Authenticated Key Exchange Using RSA 429 8 17 Using Basic Diffie-Hellman Key Agreement 432 8 18 Using Diffie-Hellman and DSA Together 436 8 19 Minimizing the Window of Vulnerability When Authenticating Without a PKI 438 8 20 Providing Forward Secrecy in a Symmetric System 444 8 21 Ensuring Forward Secrecy in a Public Key System 445 8 22 Confirming Requests via Email 447 9 Networking 454 9 1 Creating an SSL Client 455 9 2 Creating an SSL Server 457 9 3 Using Session Caching to Make SSL Servers More Efficient 460 9 4 Securing Web Communication on Windows Using the Winlnet API 463 9 5 Enabling SSL without Modifying Source Code 468 9 6 Using Kerberos Encryption 470 9 7 Performing Interprocess Communication Using Sockets 475 9 8 Performing Authentication with Unix Domain Sockets 482 9 9 Performing Session ID Management 486 9 10 Securing Database Connections 487 9 11 Using a Virtual Private Network to Secure Network Connections 490 9 12 Building an Authenticated Secure Channel Without SSL 491 10 Public Key Infrastructure 502 10 1 Understanding Public Key Infrastructure (PKI) 502 10 2 Obtaining a Certificate 513 10 3 Using Root Certificates 519 10 4 Understanding X 509 Certificate Verification Methodology 522 10 5 Performing X 509 Certificate Verification with OpenSSL 525 10 6 Performing X 509 Certificate Verification with CryptoAPI 530 10 7 Verifying an SSL Peer s Certificate 535 10 8 Adding Hostname Checking to Certificate Verification 539 10 9 Using a Whitelist to Verify Certificates 544 Table of Contents | be 10 10 Obtaining Certificate Revocation Lists with OpenSSL 547 10 11 Obtaining CRLs with CryptoAPI 556 10 12 Checking Revocation Status via OCSP with OpenSSL 562 11 Random Numbers 568 11 1 Determining What Kind of Random Numbers to Use 568 11 2 Using a Generic API for Randomness and Entropy 573 11 3 Using the Standard Unix Randomness Infrastructure 575 11 4 Using the Standard Windows Randomness Infrastructure 580 11 5 Using an Application-Level Generator 581 11 6 Reseeding a Pseudo-Random Number Generator 591 11 7 Using an Entropy Gathering Daemon-Compatible Solution 594 11 8 Getting Entropy or Pseudo-Randomness Using EGADS 599 11 9 Using the OpenSSL Random Number API 603 11 10 Getting Random Integers 605 11 11 Getting a Random Integer in a Range 606 11 12 Getting a Random Floating-Point Value with Uniform Distribution 608 11 13 Getting Floating-Point Values with Nonuniform Distributions 609 11 14 Getting a Random Printable ASCII String 611 11 15 Shuffling Fairly 612 11 16 Compressing Data with Entropy into a Fixed-Size Seed 613 11 17 Getting Entropy at Startup 614 11 18 Statistically Testing Random Numbers 615 11 19 Performing Entropy Estimation and Management 621 11 20 Gathering Entropy from the Keyboard 630 11 21 Gathering Entropy from Mouse Events on Windows 638 11 22 Gathering Entropy from Thread Timings 643 11 23 Gathering Entropy from System State 644 12 Anti-Tampering 647 12 1 Understanding the Problem of Software Protection 648 12 2 Detecting Modification 653 12 3 Obfuscating Code 658 12 4 Performing Bit and Byte Obfuscation 664 12 5 Performing Constant Transforms on Variables 667 12 6 Merging Scalar Variables 667 12 7 Splitting Variables 669 12 8 Disguising Boolean Values 670 12 9 Using Function Pointers 671 Table of Contents 12 10 Restructuring Arrays 672 12 11 Hiding Strings 678 12 12 Detecting Debuggers 681 12 13 Detecting Unix Debuggers 682 12 14 Detecting Windows Debuggers 685 12 15 Detecting SoftlCE 685 12 16 Countering Disassembly 688 12 17 Using Self-Modifying Code 693 13 Other Topics 700 13 1 Performing Error Handling 700 13 2 Erasing Data from Memory Securely 704 13 3 Preventing Memory from Being Paged to Disk 707 13 4 Using Variable Arguments Properly 709 13 5 Performing Proper Signal Handling 712 13 6 Protecting against Shatter Attacks on Windows 716 13 7 Guarding Against Spawning Too Many Threads 718 13 8 Guarding Against Creating Too Many Network Sockets 724 13 9 Guarding Against Resource Starvation Attacks on Unix 727 13 10 Guarding Against Resource Starvation Attacks on Windows 730 13 11 Following Best Practices for Audit Logging 734 Index 739 Table of Contents | xi
any_adam_object 1
author Viega, John
Messier, Matt
author_facet Viega, John
Messier, Matt
author_role aut
aut
author_sort Viega, John
author_variant j v jv
m m mm
building Verbundindex
bvnumber BV017124672
callnumber-first Q - Science
callnumber-label QA76
callnumber-raw QA76.73.C15
callnumber-search QA76.73.C15
callnumber-sort QA 276.73 C15
callnumber-subject QA - Mathematics
classification_rvk ST 250
ST 276
ctrlnum (OCoLC)248842252
(DE-599)BVBBV017124672
dewey-full 005.133
dewey-hundreds 000 - Computer science, information, general works
dewey-ones 005 - Computer programming, programs, data, security
dewey-raw 005.133
dewey-search 005.133
dewey-sort 15.133
dewey-tens 000 - Computer science, information, general works
discipline Informatik
edition 1. ed.
format Book
fullrecord <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03011nam a2200721 c 4500</leader><controlfield tag="001">BV017124672</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20141217 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">030506s2003 gw ad|| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">967425751</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780596003944</subfield><subfield code="9">978-0-596-00394-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">0596003943</subfield><subfield code="c">kart. : EUR 48.00 (freier Pr.)</subfield><subfield code="9">0-596-00394-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)248842252</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV017124672</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">DE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-898</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-526</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-703</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.C15</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 276</subfield><subfield code="0">(DE-625)143642:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Viega, John</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Secure programming cookbook for C and C++</subfield><subfield code="b">[recipes for cryptography, authentication, networking, input validation &amp; more ; covers Unix &amp; Windows]</subfield><subfield code="c">John Viega and Matt Messier</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2003</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXV, 762 S.</subfield><subfield code="b">24 cm. - Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Softwareentwicklung - C &lt;Programmiersprache&gt; - Datensicherung</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Softwareentwicklung - C++ - Datensicherung</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Softwareentwicklung - Kryptologie - C &lt;Programmiersprache&gt;</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Softwareentwicklung - Kryptologie - C++</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer security</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Development</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datensicherung</subfield><subfield code="0">(DE-588)4011144-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Kryptologie</subfield><subfield code="0">(DE-588)4033329-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Datensicherung</subfield><subfield code="0">(DE-588)4011144-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Datensicherung</subfield><subfield code="0">(DE-588)4011144-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="1"><subfield code="a">Kryptologie</subfield><subfield code="0">(DE-588)4033329-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="2"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="1"><subfield code="a">Kryptologie</subfield><subfield code="0">(DE-588)4033329-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="2"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Messier, Matt</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&amp;doc_library=BVB01&amp;local_base=BVB01&amp;doc_number=010323986&amp;sequence=000002&amp;line_number=0001&amp;func_code=DB_RECORDS&amp;service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-010323986</subfield></datafield></record></collection>
id DE-604.BV017124672
illustrated Illustrated
indexdate 2024-09-27T16:12:33Z
institution BVB
isbn 9780596003944
language German
oai_aleph_id oai:aleph.bib-bvb.de:BVB01-010323986
oclc_num 248842252
open_access_boolean
owner DE-898
DE-BY-UBR
DE-573
DE-473
DE-BY-UBG
DE-Aug4
DE-706
DE-634
DE-526
DE-11
DE-188
DE-703
owner_facet DE-898
DE-BY-UBR
DE-573
DE-473
DE-BY-UBG
DE-Aug4
DE-706
DE-634
DE-526
DE-11
DE-188
DE-703
physical XXV, 762 S. 24 cm. - Ill., graph. Darst.
publishDate 2003
publishDateSearch 2003
publishDateSort 2003
publisher O'Reilly
record_format marc
spellingShingle Viega, John
Messier, Matt
Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]
Softwareentwicklung - C <Programmiersprache> - Datensicherung
Softwareentwicklung - C++ - Datensicherung
Softwareentwicklung - Kryptologie - C <Programmiersprache>
Softwareentwicklung - Kryptologie - C++
C (Computer program language)
C++ (Computer program language)
Computer security
Computer software Development
Softwareentwicklung (DE-588)4116522-6 gnd
C Programmiersprache (DE-588)4113195-2 gnd
C++ (DE-588)4193909-8 gnd
Datensicherung (DE-588)4011144-1 gnd
Kryptologie (DE-588)4033329-2 gnd
subject_GND (DE-588)4116522-6
(DE-588)4113195-2
(DE-588)4193909-8
(DE-588)4011144-1
(DE-588)4033329-2
title Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]
title_auth Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]
title_exact_search Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]
title_full Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows] John Viega and Matt Messier
title_fullStr Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows] John Viega and Matt Messier
title_full_unstemmed Secure programming cookbook for C and C++ [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows] John Viega and Matt Messier
title_short Secure programming cookbook for C and C++
title_sort secure programming cookbook for c and c recipes for cryptography authentication networking input validation more covers unix windows
title_sub [recipes for cryptography, authentication, networking, input validation & more ; covers Unix & Windows]
topic Softwareentwicklung - C <Programmiersprache> - Datensicherung
Softwareentwicklung - C++ - Datensicherung
Softwareentwicklung - Kryptologie - C <Programmiersprache>
Softwareentwicklung - Kryptologie - C++
C (Computer program language)
C++ (Computer program language)
Computer security
Computer software Development
Softwareentwicklung (DE-588)4116522-6 gnd
C Programmiersprache (DE-588)4113195-2 gnd
C++ (DE-588)4193909-8 gnd
Datensicherung (DE-588)4011144-1 gnd
Kryptologie (DE-588)4033329-2 gnd
topic_facet Softwareentwicklung - C <Programmiersprache> - Datensicherung
Softwareentwicklung - C++ - Datensicherung
Softwareentwicklung - Kryptologie - C <Programmiersprache>
Softwareentwicklung - Kryptologie - C++
C (Computer program language)
C++ (Computer program language)
Computer security
Computer software Development
Softwareentwicklung
C Programmiersprache
C++
Datensicherung
Kryptologie
url http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010323986&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA
work_keys_str_mv AT viegajohn secureprogrammingcookbookforcandcrecipesforcryptographyauthenticationnetworkinginputvalidationmorecoversunixwindows
AT messiermatt secureprogrammingcookbookforcandcrecipesforcryptographyauthenticationnetworkinginputvalidationmorecoversunixwindows