Remove redundant code and add examples

This commit is contained in:
tsingbx
2024-07-30 21:06:17 +08:00
parent 03076bdc76
commit 6e24792b9b
5 changed files with 55 additions and 38 deletions

View File

@@ -8,22 +8,61 @@ import (
) )
func main() { func main() {
str := "His money is twice tainted:"
var sha1 openssl.SHA_CTX var sha1 openssl.SHA_CTX
sha1.Init() sha1.Init()
sha1.UpdateString("His money is twice tainted:") sha1.UpdateString(str)
sha1.UpdateString(" 'taint yours and 'taint mine.")
h := make([]byte, openssl.SHA_DIGEST_LENGTH) h1 := make([]byte, openssl.SHA_DIGEST_LENGTH)
sha1.Final(unsafe.SliceData(h)) sha1.Final(unsafe.SliceData(h1))
fmt.Printf("%x\n", h) fmt.Printf("%x\n", h1)
h2 := make([]byte, openssl.SHA_DIGEST_LENGTH)
openssl.SHA1String(str, unsafe.SliceData(h2))
fmt.Printf("%x\n", h2)
var sha256 openssl.SHA256_CTX var sha256 openssl.SHA256_CTX
sha256.Init() sha256.Init()
sha256.UpdateString("His money is twice tainted:") sha256.UpdateString(str)
sha256.UpdateString(" 'taint yours and 'taint mine.") h3 := make([]byte, openssl.SHA256_DIGEST_LENGTH)
sha256.Final(unsafe.SliceData(h3))
fmt.Printf("%x\n", h3)
hh := make([]byte, openssl.SHA256_DIGEST_LENGTH) h4 := make([]byte, openssl.SHA256_DIGEST_LENGTH)
sha256.Final(unsafe.SliceData(hh)) openssl.SHA256String(str, unsafe.SliceData(h4))
fmt.Printf("%x\n", hh) fmt.Printf("%x\n", h4)
var sha512 openssl.SHA512_CTX
sha512.Init()
sha512.UpdateString("His money is twice tainted:")
h5 := make([]byte, openssl.SHA512_DIGEST_LENGTH)
sha512.Final(unsafe.SliceData(h5))
fmt.Printf("%x\n", h5)
h6 := make([]byte, openssl.SHA512_DIGEST_LENGTH)
openssl.SHA512String(str, unsafe.SliceData(h6))
fmt.Printf("%x\n", h6)
var sha224 openssl.SHA256_CTX
sha224.Init224()
sha224.Update224String(str)
h7 := make([]byte, openssl.SHA224_DIGEST_LENGTH)
sha224.Final224(unsafe.SliceData(h7))
fmt.Printf("%x\n", h7)
h8 := make([]byte, openssl.SHA224_DIGEST_LENGTH)
openssl.SHA224String(str, unsafe.SliceData(h8))
fmt.Printf("%x\n", h8)
var sha384 openssl.SHA512_CTX
sha384.Init384()
sha384.Update384String(str)
h9 := make([]byte, openssl.SHA384_DIGEST_LENGTH)
sha384.Final384(unsafe.SliceData(h9))
fmt.Printf("%x\n", h9)
h10 := make([]byte, openssl.SHA384_DIGEST_LENGTH)
openssl.SHA384String(str, unsafe.SliceData(h10))
fmt.Printf("%x\n", h10)
} }

View File

@@ -42,12 +42,8 @@ func (c *SHA_CTX) Final(md *byte) c.Int {
// OSSL_DEPRECATEDIN_3_0 void SHA1_Transform(SHA_CTX *c, const unsigned char *data); // OSSL_DEPRECATEDIN_3_0 void SHA1_Transform(SHA_CTX *c, const unsigned char *data);
// //
//go:linkname sha1Transform C.SHA1_Transform // llgo:link (*SHA_CTX).Transform C.SHA1_Transform
func sha1Transform(c *SHA_CTX, data *byte) func (c *SHA_CTX) Transform(data *byte) {}
func (c *SHA_CTX) Transform(data *byte) {
sha1Transform(c, data)
}
// unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); // unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md);
// //

View File

@@ -69,12 +69,8 @@ func (c *SHA256_CTX) Final(md *byte) c.Int {
// OSSL_DEPRECATEDIN_3_0 void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); // OSSL_DEPRECATEDIN_3_0 void SHA256_Transform(SHA256_CTX *c, const unsigned char *data);
// //
//go:linkname sha256Transform C.SHA256_Transform // llgo:link (*SHA256_CTX).Transform C.SHA256_Transform
func sha256Transform(c *SHA256_CTX, data *byte) func (c *SHA256_CTX) Transform(data *byte) {}
func (c *SHA256_CTX) Transform(data *byte) {
sha256Transform(c, data)
}
// unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); // unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md);
// //

View File

@@ -67,12 +67,8 @@ func (c *SHA512_CTX) Final(md *byte) c.Int {
// OSSL_DEPRECATEDIN_3_0 void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); // OSSL_DEPRECATEDIN_3_0 void SHA512_Transform(SHA512_CTX *c, const unsigned char *data);
// //
//go:linkname sha512Transform C.SHA512_Transform // llgo:link (*SHA512_CTX).Transform C.SHA512_Transform
func sha512Transform(c *SHA512_CTX, data *byte) func (c *SHA512_CTX) Transform(data *byte) {}
func (c *SHA512_CTX) Transform(data *byte) {
sha512Transform(c, data)
}
// unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); // unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md);
// //

View File

@@ -1022,10 +1022,6 @@ func (b Builder) Do(da DoAction, fn Expr, args ...Expr) (ret Expr) {
// Go spec (excluding "make" and "new"). // Go spec (excluding "make" and "new").
func (b Builder) BuiltinCall(fn string, args ...Expr) (ret Expr) { func (b Builder) BuiltinCall(fn string, args ...Expr) (ret Expr) {
switch fn { switch fn {
case "max":
fallthrough
case "min":
return b.max(args...)
case "len": case "len":
if len(args) == 1 { if len(args) == 1 {
arg := args[0] arg := args[0]
@@ -1132,12 +1128,6 @@ func (b Builder) BuiltinCall(fn string, args ...Expr) (ret Expr) {
panic("todo: " + fn) panic("todo: " + fn)
} }
// max return the max value for the args
func (b Builder) max(args ...Expr) (ret Expr) {
//todo
return args[len(args)-1]
}
// Println prints the arguments to stderr, followed by a newline. // Println prints the arguments to stderr, followed by a newline.
func (b Builder) Println(args ...Expr) (ret Expr) { func (b Builder) Println(args ...Expr) (ret Expr) {
return b.PrintEx(true, args...) return b.PrintEx(true, args...)