Suche senden
Hochladen
Apache Commons ソースリーディングの会:Codec
•
0 gefällt mir
•
3,269 views
moai kids
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 62
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Introduction to Redis
Introduction to Redis
François-Guillaume Ribreau
Paris Redis Meetup Introduction
Paris Redis Meetup Introduction
Gregory Boissinot
An Introduction to REDIS NoSQL database
An Introduction to REDIS NoSQL database
Ali MasudianPour
Packet crafting of2013
Packet crafting of2013
Shteryana Shopova
DoH, DoT and ESNI
DoH, DoT and ESNI
Jisc
IPFS introduction
IPFS introduction
Genta M
Laura Garcia - Shodan API and Coding Skills [rooted2019]
Laura Garcia - Shodan API and Coding Skills [rooted2019]
RootedCON
wget, curl and scp
wget, curl and scp
Gaurav Mishra
Empfohlen
Introduction to Redis
Introduction to Redis
François-Guillaume Ribreau
Paris Redis Meetup Introduction
Paris Redis Meetup Introduction
Gregory Boissinot
An Introduction to REDIS NoSQL database
An Introduction to REDIS NoSQL database
Ali MasudianPour
Packet crafting of2013
Packet crafting of2013
Shteryana Shopova
DoH, DoT and ESNI
DoH, DoT and ESNI
Jisc
IPFS introduction
IPFS introduction
Genta M
Laura Garcia - Shodan API and Coding Skills [rooted2019]
Laura Garcia - Shodan API and Coding Skills [rooted2019]
RootedCON
wget, curl and scp
wget, curl and scp
Gaurav Mishra
Linux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend Programing
Angel Boy
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
MongoDB
"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal Purzynski
PROIDEA
What's New in the PHP Driver
What's New in the PHP Driver
MongoDB
Hydra - Getting Started
Hydra - Getting Started
abramsm
Introduction to solr
Introduction to solr
Sematext Group, Inc.
Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501
Jinho Kim
Centralized Logging with syslog
Centralized Logging with syslog
amiable_indian
leboncoin DataEngineering / Terraform - beginner to advanced
leboncoin DataEngineering / Terraform - beginner to advanced
leboncoin engineering
Redis学习笔记
Redis学习笔记
yongboy
Overview and evolution of password-based authentication schemes
Overview and evolution of password-based authentication schemes
Ignat Korchagin
Tthornton code4lib
Tthornton code4lib
trevorthornton
CONFidence 2015: Fuzz your way into the web server's zoo - Andrey Plastunov
CONFidence 2015: Fuzz your way into the web server's zoo - Andrey Plastunov
PROIDEA
Clamdigging: Leveraging ClamAV for Malware Analysis and Detection
Clamdigging: Leveraging ClamAV for Malware Analysis and Detection
malwareforme
Managing Your Security Logs with Elasticsearch
Managing Your Security Logs with Elasticsearch
Vic Hargrave
OSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross Lawley
NETWAYS
IPFS: A Whole New World
IPFS: A Whole New World
ArcBlock
Thinking in documents
Thinking in documents
César Rodas
IPWB and IPFS at WAC2017
IPWB and IPFS at WAC2017
David Dias
Webinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamav
thc2cat
Extracting Forensic Information From Zeus Derivatives
Extracting Forensic Information From Zeus Derivatives
Source Conference
Cache on Delivery
Cache on Delivery
SensePost
Weitere ähnliche Inhalte
Was ist angesagt?
Linux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend Programing
Angel Boy
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
MongoDB
"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal Purzynski
PROIDEA
What's New in the PHP Driver
What's New in the PHP Driver
MongoDB
Hydra - Getting Started
Hydra - Getting Started
abramsm
Introduction to solr
Introduction to solr
Sematext Group, Inc.
Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501
Jinho Kim
Centralized Logging with syslog
Centralized Logging with syslog
amiable_indian
leboncoin DataEngineering / Terraform - beginner to advanced
leboncoin DataEngineering / Terraform - beginner to advanced
leboncoin engineering
Redis学习笔记
Redis学习笔记
yongboy
Overview and evolution of password-based authentication schemes
Overview and evolution of password-based authentication schemes
Ignat Korchagin
Tthornton code4lib
Tthornton code4lib
trevorthornton
CONFidence 2015: Fuzz your way into the web server's zoo - Andrey Plastunov
CONFidence 2015: Fuzz your way into the web server's zoo - Andrey Plastunov
PROIDEA
Clamdigging: Leveraging ClamAV for Malware Analysis and Detection
Clamdigging: Leveraging ClamAV for Malware Analysis and Detection
malwareforme
Managing Your Security Logs with Elasticsearch
Managing Your Security Logs with Elasticsearch
Vic Hargrave
OSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross Lawley
NETWAYS
IPFS: A Whole New World
IPFS: A Whole New World
ArcBlock
Thinking in documents
Thinking in documents
César Rodas
IPWB and IPFS at WAC2017
IPWB and IPFS at WAC2017
David Dias
Webinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamav
thc2cat
Was ist angesagt?
(20)
Linux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend Programing
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal Purzynski
What's New in the PHP Driver
What's New in the PHP Driver
Hydra - Getting Started
Hydra - Getting Started
Introduction to solr
Introduction to solr
Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501
Centralized Logging with syslog
Centralized Logging with syslog
leboncoin DataEngineering / Terraform - beginner to advanced
leboncoin DataEngineering / Terraform - beginner to advanced
Redis学习笔记
Redis学习笔记
Overview and evolution of password-based authentication schemes
Overview and evolution of password-based authentication schemes
Tthornton code4lib
Tthornton code4lib
CONFidence 2015: Fuzz your way into the web server's zoo - Andrey Plastunov
CONFidence 2015: Fuzz your way into the web server's zoo - Andrey Plastunov
Clamdigging: Leveraging ClamAV for Malware Analysis and Detection
Clamdigging: Leveraging ClamAV for Malware Analysis and Detection
Managing Your Security Logs with Elasticsearch
Managing Your Security Logs with Elasticsearch
OSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross Lawley
IPFS: A Whole New World
IPFS: A Whole New World
Thinking in documents
Thinking in documents
IPWB and IPFS at WAC2017
IPWB and IPFS at WAC2017
Webinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamav
Ähnlich wie Apache Commons ソースリーディングの会:Codec
Extracting Forensic Information From Zeus Derivatives
Extracting Forensic Information From Zeus Derivatives
Source Conference
Cache on Delivery
Cache on Delivery
SensePost
Auto cad 2006_api_overview
Auto cad 2006_api_overview
scdhruv5
[DLHacks]Introduction to ChainerCV
[DLHacks]Introduction to ChainerCV
Deep Learning JP
cinema_time_new.pdf
cinema_time_new.pdf
MaxDmitriev
¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!
Antonio Robres Turon
Coding with Riak (from Velocity 2015)
Coding with Riak (from Velocity 2015)
Basho Technologies
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-Red
Paul Withers
Web前端性能优化 2014
Web前端性能优化 2014
Yubei Li
Web encoding
Web encoding
Ailsa126
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Michele Orru
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
Monica Beckwith
Adding Riak to your NoSQL Bag of Tricks
Adding Riak to your NoSQL Bag of Tricks
siculars
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM
Mark Rees
The Architecture of PicCollage Server
The Architecture of PicCollage Server
Lin Jen-Shin
Node js quick-tour_v2
Node js quick-tour_v2
http403
Node js quick tour v2
Node js quick tour v2
Wyatt Fang
Node js quick-tour_v2
Node js quick-tour_v2
tianyi5212222
Bh ad-12-stealing-from-thieves-saher-slides
Bh ad-12-stealing-from-thieves-saher-slides
Matt Kocubinski
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
bartzon
Ähnlich wie Apache Commons ソースリーディングの会:Codec
(20)
Extracting Forensic Information From Zeus Derivatives
Extracting Forensic Information From Zeus Derivatives
Cache on Delivery
Cache on Delivery
Auto cad 2006_api_overview
Auto cad 2006_api_overview
[DLHacks]Introduction to ChainerCV
[DLHacks]Introduction to ChainerCV
cinema_time_new.pdf
cinema_time_new.pdf
¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!
Coding with Riak (from Velocity 2015)
Coding with Riak (from Velocity 2015)
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-Red
Web前端性能优化 2014
Web前端性能优化 2014
Web encoding
Web encoding
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
Adding Riak to your NoSQL Bag of Tricks
Adding Riak to your NoSQL Bag of Tricks
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM
The Architecture of PicCollage Server
The Architecture of PicCollage Server
Node js quick-tour_v2
Node js quick-tour_v2
Node js quick tour v2
Node js quick tour v2
Node js quick-tour_v2
Node js quick-tour_v2
Bh ad-12-stealing-from-thieves-saher-slides
Bh ad-12-stealing-from-thieves-saher-slides
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
Mehr von moai kids
中国最新ニュースアプリ事情
中国最新ニュースアプリ事情
moai kids
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
moai kids
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
Programming Hive Reading #4
Programming Hive Reading #4
moai kids
Programming Hive Reading #3
Programming Hive Reading #3
moai kids
"Programming Hive" Reading #1
"Programming Hive" Reading #1
moai kids
Casual Compression on MongoDB
Casual Compression on MongoDB
moai kids
Introduction to MongoDB
Introduction to MongoDB
moai kids
Hadoop Conference Japan 2011 Fallに行ってきました
Hadoop Conference Japan 2011 Fallに行ってきました
moai kids
HBase本輪読会資料(11章)
HBase本輪読会資料(11章)
moai kids
snappyについて
snappyについて
moai kids
第四回月次セミナー(公開版)
第四回月次セミナー(公開版)
moai kids
第三回月次セミナー(公開版)
第三回月次セミナー(公開版)
moai kids
Pythonで自然言語処理
Pythonで自然言語処理
moai kids
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
moai kids
Yammer試用レポート(公開版)
Yammer試用レポート(公開版)
moai kids
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
moai kids
中国と私(仮題)
中国と私(仮題)
moai kids
不自然言語処理コンテストLT資料
不自然言語処理コンテストLT資料
moai kids
n-gramコーパスを用いた類義語自動獲得手法について
n-gramコーパスを用いた類義語自動獲得手法について
moai kids
Mehr von moai kids
(20)
中国最新ニュースアプリ事情
中国最新ニュースアプリ事情
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
Twitterのsnowflakeについて
Twitterのsnowflakeについて
Programming Hive Reading #4
Programming Hive Reading #4
Programming Hive Reading #3
Programming Hive Reading #3
"Programming Hive" Reading #1
"Programming Hive" Reading #1
Casual Compression on MongoDB
Casual Compression on MongoDB
Introduction to MongoDB
Introduction to MongoDB
Hadoop Conference Japan 2011 Fallに行ってきました
Hadoop Conference Japan 2011 Fallに行ってきました
HBase本輪読会資料(11章)
HBase本輪読会資料(11章)
snappyについて
snappyについて
第四回月次セミナー(公開版)
第四回月次セミナー(公開版)
第三回月次セミナー(公開版)
第三回月次セミナー(公開版)
Pythonで自然言語処理
Pythonで自然言語処理
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
Yammer試用レポート(公開版)
Yammer試用レポート(公開版)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
中国と私(仮題)
中国と私(仮題)
不自然言語処理コンテストLT資料
不自然言語処理コンテストLT資料
n-gramコーパスを用いた類義語自動獲得手法について
n-gramコーパスを用いた類義語自動獲得手法について
Kürzlich hochgeladen
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
itnewsafrica
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
Manik S Magar
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
Farhan Tariq
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
LoriGlavin3
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Inflectra
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
itnewsafrica
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
marketing932765
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Kaya Weers
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Mark Goldstein
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Hiroshi SHIBATA
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Nathaniel Shimoni
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Cprime
2024 April Patch Tuesday
2024 April Patch Tuesday
Ivanti
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
UiPathCommunity
Kürzlich hochgeladen
(20)
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
A Framework for Development in the AI Age
A Framework for Development in the AI Age
2024 April Patch Tuesday
2024 April Patch Tuesday
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
Apache Commons ソースリーディングの会:Codec
1.
2.
Apache Commons
Codec ※ → encode decode)
3.
• • • •
(ex.Base64)
4.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
5.
http://commons.apache.org/codec/ 2009
1.4 Ver.UP Java1.4
6.
• org.apache.commons.codec.binary
- - Base64 / Hex / Binary Codec • org.apache.commons.codec.digest - MD5 SHA1 • org.apache.commons.codec.language - - Soundex / Metaphone • org.apache.commons.codec.net - - URLCodec(URL Encode) / Quoted Printable Codec / BCodec / QCodec
7.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
8.
org.apache.commons.codec • •
Exception - Encoder / Decoder - BinaryEncoder / BinaryDecoder - StringEncoder / StringDecoder - StringEncoderComparator - DecoderException / EncoderException - CharEncoding(charset )
9.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
10.
org.apache.commons.codec.binary •
- BinaryEncoder / BinaryDecoder - Base64 - Base64InputStream / Base64OutputStream - Hex - BinaryCodec - StringUtils
11.
Base64 • 64 •
Basic • 4/3
12.
Base64 Encoding •
• [0-9a-zA-Z+/] • Commons Codec • STANDARD_ENCODE_TABLE • [0-9a-zA-Z+/] • URL_SAFE_ENCODE_TABLE • [0-9a-zA-Z-_] • RFC http://www.ietf.org/rfc/rfc2045.txt
13.
• •
urlSafe:boolean • lineLength:int • lineLength:int, lineSeparator:byte[] • lineLength:int, lineSeparator:byte[], urlSafe:boolean
14.
• lineLength
• • 76 • RFC2045 section 6.8. http://tools.ietf.org/html/rfc2045#section-6.8
15.
• lineSeparator
• • CRLF rn • RFC2045 section 2.1. http://tools.ietf.org/html/rfc2045#section-2.1 mail RFC RF822
16.
• urlSafe
• • true:URL_SAFE_ENCODE_TABLE • false:STANDARD_ENCODE_TABLE (default)
17.
encodeBase64 • binaryData:byte[] • binaryData:byte[]
,isChunked:boolean • binaryData:byte[] ,isChunked:boolean ,urlSafe:boolean • binaryData:byte[] ,isChunked:boolean ,urlSafe:boolean, maxResultSize:int
18.
encodeBase64 • binaryData
• • null
19.
encodeBase64 • isChunked
• • true 76 lineLength ( lineLength / 4 * 4) • false:
20.
encodeBase64 • urlSafe
• • Base64.encodeBase64()
21.
encodeBase64 • maxResultSize
• • IllegalArgumentException
22.
encodeBase64 •
• null • maxResultSize • Base64 • encode • null • • EOF •
23.
decodeBase64 • base64data:byte[] • base64String:String
• StringUtils.getBytesUtf8() UTF-8
24.
decodeBase64 •
• • EOF
25.
org.apache.commons.codec.binary •
- BinaryEncoder / BinaryDecoder - Base64 - Base64InputStream / Base64OutputStream - Hex - BinaryCodec - StringUtils
26.
Hex •
16 char • LOWER or UPPER •
27.
org.apache.commons.codec.binary •
- BinaryEncoder / BinaryDecoder - Base64 - Base64InputStream / Base64OutputStream - Hex - BinaryCodec - StringUtils
28.
BinaryCodec •
2 char •
29.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
30.
org.apache.commons.codec.digest • MessageDigest -
DigestUtils
31.
MessageDigest? •
• MD5 SHA1 • Java java.security.MessageDigest • DigestUtils MessageDigest
32.
DigestUtils •
• MD5 SHA1 SHA256 SHA384 SHA51 2 • • Stream UTF-8 • • 16
33.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
34.
org.apache.commons.codec.language •
Phonetic Algorithm ※Phonetic Algorithm: - StringEncoder - Soundex - Metaphone - RefinedSoundex - DoubleMetaphone - Caverphone - SoundexUtils
35.
Soundex •
• • • Soundex • “Robert”,”Rupert” → R163
36.
• Soundex http://en.wikipedia.org/wiki/Soundex •
Metaphone http://en.wikipedia.org/wiki/Metaphone • Caverphone http://en.wikipedia.org/wiki/Caverphone
37.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
38.
org.apache.commons.codec.net •
- BinaryEncoder / BinaryDecoder / StringEncoder / StringDecoder - URLCodec - QuotedPrintableCodec - RFC1522Codec - QCodec - BCodec - Utils
39.
URLCodec •
URL • java.net.URLEncoder / URLDecoder • Commons Codec • URLCodec QuotedPrintable
40.
• • charset:String
• charset • UTF-8
41.
encode •
bytes:byte[] • pObject:Object • pString:String • pString:String, charset:String • charset charset
42.
encode •
• • • URL Safe ʼ+ʼ • URL Safe:[0-9a-zA-Z-_.* ] • URL Safe ʼ%ʼ + 16
43.
decode •
bytes:byte[] • pObject:Object • pString:String • pString:String, charset:String • charset charset
44.
decode •
• • • URL Safe ʼ+ʼ • URL Safe:[0-9a-zA-Z-_.* ] • URL Safe ʼ%ʼ
45.
org.apache.commons.codec.net •
- BinaryEncoder / BinaryDecoder / StringEncoder / StringDecoder - URLCodec - QuotedPrintableCodec - RFC1522Codec - QCodec - BCodec - Utils
46.
QuotedPrintableCodec • RFC1521 • 8
7 • Content-Transfer-Encoding: quoted-printable • • 0x21(10 :33) 0x3c(60) 0x3e(62) 0x72(126) • ʼ=ʼ + 4 2 ) 16 (ex.ʼ=ʼ→”=3D”)
47.
• • charset:String
• charset • UTF-8
48.
encode •
bytes:byte[] • pObject:Object • pString:String • pString:String, charset:String • charset charset
49.
encode •
• • • • ʼ=ʼ + 16
50.
decode •
bytes:byte[] • pObject:Object • pString:String • pString:String, charset:String • charset charset
51.
decode •
• • ʼ=ʼ • ʻ=ʻ • ʻ=ʻ
52.
org.apache.commons.codec.net •
- BinaryEncoder / BinaryDecoder / StringEncoder / StringDecoder - URLCodec - QuotedPrintableCodec - RFC1522Codec - QCodec - BCodec - Utils
53.
RFC1522Codec • RFC1521 1522
MIME RFC • ASCII • RFC1522Codec • [sample] =?ISO-2022-JP?B?GyRCJD8hIxsoQg==?= • QCodec:Quoted Printable • BCodec:Base64 • BCodec
54.
QCodec • • charset:String
• charset • UTF-8
55.
encode • pObject:Object • pString:String •
pString:String, charset:String • charset charset
56.
encode •
• PREFIX (“=?”) • charset • (ʻ?ʼ) • (QCodec ʼQʼ) • (ʻ?ʼ) • Quoted Printable • POSTFIX (“?=”)
57.
decode • pObject:Object • pString:String
• ※QCodec charset
58.
decode •
• PREFIX POSTFIX • charset (QCodec or BCodec) •
59.
BCodec • QCodec QCodec
• ʼBʼ • Base64
60.
✓Commons Codec ✓org.apache.commons.codec ✓org.apache.commons.codec.binary ✓org.apache.commons.codec.digest ✓org.apache.commons.codec.language ✓org.apache.commons.codec.net ✓
61.
Commons Codec
Jetzt herunterladen