Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
11ace543
Commit
11ace543
authored
Oct 08, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ECRECOVER RIPEMD160 SHA256
parent
6de726f1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
0 deletions
+30
-0
crypto.go
ethcrypto/crypto.go
+30
-0
No files found.
ethcrypto/crypto.go
View file @
11ace543
...
...
@@ -2,10 +2,16 @@ package ethcrypto
import
(
//"code.google.com/p/go.crypto/sha3"
"crypto/sha256"
"code.google.com/p/go.crypto/ripemd160"
"github.com/ethereum/eth-go/ethutil"
"github.com/obscuren/sha3"
"github.com/obscuren/secp256k1-go"
)
// TODO refactor, remove (bin)
func
Sha3Bin
(
data
[]
byte
)
[]
byte
{
d
:=
sha3
.
NewKeccak256
()
d
.
Write
(
data
)
...
...
@@ -17,3 +23,27 @@ func Sha3Bin(data []byte) []byte {
func
CreateAddress
(
b
[]
byte
,
nonce
uint64
)
[]
byte
{
return
Sha3Bin
(
ethutil
.
NewValue
([]
interface
{}{
b
,
nonce
})
.
Encode
())[
12
:
]
}
func
Sha256
(
data
[]
byte
)
[]
byte
{
hash
:=
sha256
.
Sum256
(
data
)
return
hash
[
:
]
}
func
Ripemd160
(
data
[]
byte
)
[]
byte
{
ripemd
:=
ripemd160
.
New
()
ripemd
.
Write
(
data
)
return
ripemd
.
Sum
(
nil
)
}
func
Ecrecover
(
data
[]
byte
)
[]
byte
{
var
in
=
struct
{
hash
[]
byte
sig
[]
byte
}{
data
[
:
32
],
data
[
32
:
]}
r
,
_
:=
secp256k1
.
RecoverPubkey
(
in
.
hash
,
in
.
sig
)
return
r
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment