diff --git a/_demo/cshademo/sha.go b/_demo/cshademo/sha.go index ad58d8f8..37d2ad2b 100644 --- a/_demo/cshademo/sha.go +++ b/_demo/cshademo/sha.go @@ -8,22 +8,61 @@ import ( ) func main() { + str := "His money is twice tainted:" var sha1 openssl.SHA_CTX sha1.Init() - sha1.UpdateString("His money is twice tainted:") - sha1.UpdateString(" 'taint yours and 'taint mine.") + sha1.UpdateString(str) - h := make([]byte, openssl.SHA_DIGEST_LENGTH) - sha1.Final(unsafe.SliceData(h)) - fmt.Printf("%x\n", h) + h1 := make([]byte, openssl.SHA_DIGEST_LENGTH) + sha1.Final(unsafe.SliceData(h1)) + 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 sha256.Init() - sha256.UpdateString("His money is twice tainted:") - sha256.UpdateString(" 'taint yours and 'taint mine.") + sha256.UpdateString(str) + h3 := make([]byte, openssl.SHA256_DIGEST_LENGTH) + sha256.Final(unsafe.SliceData(h3)) + fmt.Printf("%x\n", h3) - hh := make([]byte, openssl.SHA256_DIGEST_LENGTH) - sha256.Final(unsafe.SliceData(hh)) - fmt.Printf("%x\n", hh) + h4 := make([]byte, openssl.SHA256_DIGEST_LENGTH) + openssl.SHA256String(str, unsafe.SliceData(h4)) + 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) } diff --git a/c/openssl/sha1.go b/c/openssl/sha1.go index 6ca7f6b2..96da515d 100644 --- a/c/openssl/sha1.go +++ b/c/openssl/sha1.go @@ -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); // -//go:linkname sha1Transform C.SHA1_Transform -func sha1Transform(c *SHA_CTX, data *byte) - -func (c *SHA_CTX) Transform(data *byte) { - sha1Transform(c, data) -} +// llgo:link (*SHA_CTX).Transform C.SHA1_Transform +func (c *SHA_CTX) Transform(data *byte) {} // unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); // diff --git a/c/openssl/sha256.go b/c/openssl/sha256.go index d18e3a2d..0c41ddc5 100644 --- a/c/openssl/sha256.go +++ b/c/openssl/sha256.go @@ -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); // -//go:linkname sha256Transform C.SHA256_Transform -func sha256Transform(c *SHA256_CTX, data *byte) - -func (c *SHA256_CTX) Transform(data *byte) { - sha256Transform(c, data) -} +// llgo:link (*SHA256_CTX).Transform C.SHA256_Transform +func (c *SHA256_CTX) Transform(data *byte) {} // unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); // diff --git a/c/openssl/sha512.go b/c/openssl/sha512.go index 6add73b7..1e5c5b5b 100644 --- a/c/openssl/sha512.go +++ b/c/openssl/sha512.go @@ -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); // -//go:linkname sha512Transform C.SHA512_Transform -func sha512Transform(c *SHA512_CTX, data *byte) - -func (c *SHA512_CTX) Transform(data *byte) { - sha512Transform(c, data) -} +// llgo:link (*SHA512_CTX).Transform C.SHA512_Transform +func (c *SHA512_CTX) Transform(data *byte) {} // unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); // diff --git a/ssa/expr.go b/ssa/expr.go index f9adbd7d..263ebb7a 100644 --- a/ssa/expr.go +++ b/ssa/expr.go @@ -1022,10 +1022,6 @@ func (b Builder) Do(da DoAction, fn Expr, args ...Expr) (ret Expr) { // Go spec (excluding "make" and "new"). func (b Builder) BuiltinCall(fn string, args ...Expr) (ret Expr) { switch fn { - case "max": - fallthrough - case "min": - return b.max(args...) case "len": if len(args) == 1 { arg := args[0] @@ -1132,12 +1128,6 @@ func (b Builder) BuiltinCall(fn string, args ...Expr) (ret Expr) { 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. func (b Builder) Println(args ...Expr) (ret Expr) { return b.PrintEx(true, args...)