• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang support.CheckSize函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/GoKillers/libsodium-go/support.CheckSize函数的典型用法代码示例。如果您正苦于以下问题:Golang CheckSize函数的具体用法?Golang CheckSize怎么用?Golang CheckSize使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了CheckSize函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: CryptoSignVerifyDetached

func CryptoSignVerifyDetached(sig []byte, m []byte, pk []byte) int {
	support.CheckSize(sig, CryptoSignBytes(), "signature")
	support.CheckSize(pk, CryptoSignPublicKeyBytes(), "public key")

	return int(C.crypto_sign_verify_detached(
		(*C.uchar)(&sig[0]),
		(*C.uchar)(&m[0]),
		(C.ulonglong)(len(m)),
		(*C.uchar)(&pk[0])))
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:10,代码来源:crypto_sign.go


示例2: CryptoBoxBeforeNm

func CryptoBoxBeforeNm(pk []byte, sk []byte) ([]byte, int) {
	support.CheckSize(pk, CryptoBoxPublicKeyBytes(), "public key")
	support.CheckSize(sk, CryptoBoxSecretKeyBytes(), "sender's secret key")
	k := make([]byte, CryptoBoxBeforeNmBytes())
	exit := int(C.crypto_box_beforenm(
		(*C.uchar)(&k[0]),
		(*C.uchar)(&pk[0]),
		(*C.uchar)(&sk[0])))

	return k, exit
}
开发者ID:Impyy,项目名称:libsodium-go,代码行数:11,代码来源:crypto_box.go


示例3: CryptoBoxEasyAfterNm

func CryptoBoxEasyAfterNm(m []byte, n []byte, k []byte) ([]byte, int) {
	support.CheckSize(n, CryptoBoxNonceBytes(), "nonce")
	support.CheckSize(k, CryptoBoxBeforeNmBytes(), "shared secret key")
	c := make([]byte, len(m)+CryptoBoxMacBytes())
	exit := int(C.crypto_box_easy_afternm(
		(*C.uchar)(&c[0]),
		(*C.uchar)(&m[0]),
		(C.ulonglong)(len(m)),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&k[0])))

	return c, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:13,代码来源:crypto_box_easy.go


示例4: CryptoBoxOpenAfteNm

func CryptoBoxOpenAfteNm(c []byte, n []byte, k []byte) ([]byte, int) {
	support.CheckSize(n, CryptoBoxNonceBytes(), "nonce")
	support.CheckSize(k, CryptoBoxBeforeNmBytes(), "shared secret key")
	m := make([]byte, len(c))
	exit := int(C.crypto_box_afternm(
		(*C.uchar)(&m[0]),
		(*C.uchar)(&c[0]),
		(C.ulonglong)(len(c)),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&k[0])))

	return m, exit
}
开发者ID:Impyy,项目名称:libsodium-go,代码行数:13,代码来源:crypto_box.go


示例5: CryptoScalarMult

func CryptoScalarMult(n []byte, p []byte) ([]byte, int) {
	support.CheckSize(n, CryptoScalarmultScalarBytes(), "secret key")
	support.CheckSize(p, CryptoScalarmultScalarBytes(), "public key")
	q := make([]byte, CryptoScalarmultBytes())
	var exit C.int
	exit = C.crypto_scalarmult(
		(*C.uchar)(&q[0]),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&p[0]))

	return q, int(exit)

}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:13,代码来源:crypto_scalarmult.go


示例6: CryptoSecretBoxOpen

func CryptoSecretBoxOpen(c []byte, n []byte, k []byte) ([]byte, int) {
	support.CheckSize(n, CryptoSecretBoxNonceBytes(), "nonce")
	support.CheckSize(k, CryptoSecretBoxKeyBytes(), "key")
	m := make([]byte, len(c)-CryptoSecretBoxMacBytes())
	exit := int(C.crypto_secretbox_open(
		(*C.uchar)(&m[0]),
		(*C.uchar)(&c[0]),
		(C.ulonglong)(len(c)),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&k[0])))

	return m, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:13,代码来源:crypto_secretbox.go


示例7: CryptoSecretBoxEasy

func CryptoSecretBoxEasy(m []byte, n []byte, k []byte) ([]byte, int) {
	support.CheckSize(n, CryptoSecretBoxNonceBytes(), "nonce")
	support.CheckSize(k, CryptoSecretBoxKeyBytes(), "key")
	c := make([]byte, len(m)+CryptoSecretBoxMacBytes())
	exit := int(C.crypto_secretbox_easy(
		(*C.uchar)(&c[0]),
		(*C.uchar)(&m[0]),
		(C.ulonglong)(len(m)),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&k[0])))

	return c, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:13,代码来源:crypto_secretbox_easy.go


示例8: CryptoBoxSealOpen

func CryptoBoxSealOpen(c []byte, pk []byte, sk []byte) ([]byte, int) {
	support.CheckSize(pk, CryptoBoxPublicKeyBytes(), "public key")
	support.CheckSize(sk, CryptoBoxSecretKeyBytes(), "secret key")
	m := make([]byte, len(c)-CryptoBoxMacBytes())
	exit := int(C.crypto_box_seal_open(
		(*C.uchar)(&m[0]),
		(*C.uchar)(&c[0]),
		(C.ulonglong)(len(c)),
		(*C.uchar)(&pk[0]),
		(*C.uchar)(&sk[0])))

	return m, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:13,代码来源:crypto_box_seal.go


示例9: CryptoBoxEasy

func CryptoBoxEasy(m []byte, n []byte, pk []byte, sk []byte) ([]byte, int) {
	support.CheckSize(n, CryptoBoxNonceBytes(), "nonce")
	support.CheckSize(pk, CryptoBoxPublicKeyBytes(), "public key")
	support.CheckSize(sk, CryptoBoxSecretKeyBytes(), "secret key")
	c := make([]byte, len(m)+CryptoBoxMacBytes())
	exit := int(C.crypto_box_easy(
		(*C.uchar)(&c[0]),
		(*C.uchar)(&m[0]),
		(C.ulonglong)(len(m)),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&pk[0]),
		(*C.uchar)(&sk[0])))

	return c, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:15,代码来源:crypto_box_easy.go


示例10: CryptoBoxOpen

func CryptoBoxOpen(c []byte, n []byte, pk []byte, sk []byte) ([]byte, int) {
	support.CheckSize(n, CryptoBoxNonceBytes(), "nonce")
	support.CheckSize(pk, CryptoBoxPublicKeyBytes(), "public key")
	support.CheckSize(sk, CryptoBoxPublicKeyBytes(), "secret key")
	m := make([]byte, len(c))
	exit := int(C.crypto_box_open(
		(*C.uchar)(&m[0]),
		(*C.uchar)(&c[0]),
		(C.ulonglong)(len(c)),
		(*C.uchar)(&n[0]),
		(*C.uchar)(&pk[0]),
		(*C.uchar)(&sk[0])))

	return m, exit
}
开发者ID:Impyy,项目名称:libsodium-go,代码行数:15,代码来源:crypto_box.go


示例11: CryptoBoxSeedKeyPair

func CryptoBoxSeedKeyPair(seed []byte) ([]byte, []byte, int) {
	support.CheckSize(seed, CryptoBoxSeedBytes(), "seed")
	sk := make([]byte, CryptoBoxSecretKeyBytes())
	pk := make([]byte, CryptoBoxPublicKeyBytes())
	exit := int(C.crypto_box_seed_keypair(
		(*C.uchar)(&pk[0]),
		(*C.uchar)(&sk[0]),
		(*C.uchar)(&seed[0])))

	return sk, pk, exit
}
开发者ID:Impyy,项目名称:libsodium-go,代码行数:11,代码来源:crypto_box.go


示例12: CryptoBoxSeal

func CryptoBoxSeal(m []byte, pk []byte) ([]byte, int) {
	support.CheckSize(pk, CryptoBoxPublicKeyBytes(), "public key")
	c := make([]byte, len(m)+CryptoBoxMacBytes())
	exit := int(C.crypto_box_seal(
		(*C.uchar)(&c[0]),
		(*C.uchar)(&m[0]),
		(C.ulonglong)(len(m)),
		(*C.uchar)(&pk[0])))

	return c, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:11,代码来源:crypto_box_seal.go


示例13: CryptoAuthVerify

func CryptoAuthVerify(hmac []byte, in []byte, key []byte) int {
	support.CheckSize(key, CryptoAuthKeyBytes(), "key")
	inlen := len(in)

	exit := int(C.crypto_auth_verify(
		(*C.uchar)(&hmac[0]),
		(*C.uchar)(&in[0]),
		(C.ulonglong)(inlen),
		(*C.uchar)(&key[0])))

	return exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:12,代码来源:crypto_auth.go


示例14: CryptoAuth

func CryptoAuth(in []byte, key []byte) ([]byte, int) {
	support.CheckSize(key, CryptoAuthKeyBytes(), "key")
	inlen := len(in)
	out := make([]byte, inlen+CryptoAuthBytes())

	exit := int(C.crypto_auth(
		(*C.uchar)(&out[0]),
		(*C.uchar)(&in[0]),
		(C.ulonglong)(inlen),
		(*C.uchar)(&key[0])))

	return out, exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:13,代码来源:crypto_auth.go


示例15: CryptoSignDetached

func CryptoSignDetached(m []byte, sk []byte) ([]byte, int) {
	support.CheckSize(sk, CryptoSignSecretKeyBytes(), "secret key")
	sig := make([]byte, CryptoSignBytes())
	var actualSigSize C.ulonglong

	exit := int(C.crypto_sign_detached(
		(*C.uchar)(&sig[0]),
		(&actualSigSize),
		(*C.uchar)(&m[0]),
		(C.ulonglong)(len(m)),
		(*C.uchar)(&sk[0])))

	return sig[:actualSigSize], exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:14,代码来源:crypto_sign.go


示例16: CryptoSignOpen

func CryptoSignOpen(sm []byte, pk []byte) ([]byte, int) {
	support.CheckSize(pk, CryptoSignPublicKeyBytes(), "public key")
	m := make([]byte, len(sm)-CryptoSignBytes())
	var actualMSize C.ulonglong

	exit := int(C.crypto_sign_open(
		(*C.uchar)(&m[0]),
		(&actualMSize),
		(*C.uchar)(&sm[0]),
		(C.ulonglong)(len(sm)),
		(*C.uchar)(&pk[0])))

	return m[:actualMSize], exit
}
开发者ID:enlumox,项目名称:libsodium-go,代码行数:14,代码来源:crypto_sign.go



注:本文中的github.com/GoKillers/libsodium-go/support.CheckSize函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang api.Session类代码示例发布时间:2022-05-23
下一篇:
Golang bolt.DB类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap