wust校园网web认证
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trailblazer2/app/cmd/main.go

74 lines
1.2 KiB

2 years ago
package main
2 years ago
import (
"fmt"
2 years ago
"trailblazer2/app/codecs"
2 years ago
)
2 years ago
func main() {
2 years ago
aa := []int32{1}
aa = append(aa, 12)
aa = append(aa, 23)
2 years ago
2 years ago
fmt.Println(aa)
2 years ago
a := "asdfasdf"
b := "3c6d08d667d0ee0ccad77c55b19d3e4ab2552f7163ec40a9389095a18f86c398"
//fmt.Println()
fmt.Println(codecs.Encode(a, b))
2 years ago
}
2 years ago
func s(origin string, b bool) (result []int32) {
data := []int32(origin)
2 years ago
dataLen := len(origin)
resultLen := (dataLen / 4) + 1
if b {
2 years ago
result = make([]int32, resultLen+1)
result[resultLen] = int32(resultLen)
2 years ago
} else {
2 years ago
result = make([]int32, resultLen)
2 years ago
}
for i := 0; i < dataLen; i += 4 {
result[i>>2] =
getCharAt(data, i, dataLen) | getCharAt(data, i+1, dataLen)<<8 | getCharAt(data, i+2, dataLen)<<16 |
getCharAt(data, i+3, dataLen)<<24
}
return result
}
2 years ago
2 years ago
func getCharAt(data []int32, index int, length int) int32 {
2 years ago
if index >= length {
return 0
} else {
2 years ago
return data[index]
2 years ago
}
2 years ago
}
2 years ago
func l(a []int32, b bool) (result []int32) {
d := len(a)
c := d - 1<<2
if b {
m := int(a[d-1])
if m < c-3 || m > c {
return nil
}
c = m
}
for i := 0; i < d; i++ {
result = append(result, a[i]&0xff, a[i]>>8&0xff, a[i]>>16&0xff, a[i]>>24&0xff)
}
if b {
return append(result, int32(c))
} else {
return result
}
}