AIGC:用golang语言写多表替换的加解密程序

这篇具有很好参考价值的文章主要介绍了AIGC:用golang语言写多表替换的加解密程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问:请用golang语言,编写一个三张表的多表替换的加解密程序,并给出三张不同的替换表

答:好的,首先需要明确一下加解密的方式和目标。在本程序中,我们使用多表替换的方式进行加解密操作。具体来说,对于一个输入的字符,我们会在三张表中分别进行替换,最终得到一个输出字符。其中,加密和解密操作的主要区别在于使用的替换表不同。

接下来,我们就可以按照上述思路来编写程序了。以下是实现多表替换的加解密的示例代码:

package main

import (
	"fmt"
)

// 定义三张不同的替换表,用于加解密操作
var table1 = map[rune]rune{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
var table2 = map[rune]rune{'1': 'a', '2': 'b', '3': 'c', '4': 'd'}
var table3 = map[rune]rune{'a': 'd', 'b': 'c', 'c': 'b', 'd': 'a'}

// 多表替换的加密函数
func encrypt(msg string) string {
	var result []rune

	for _, c := range msg {
		// 在三张表中依次进行替换操作
		c = table1[c]
		c = table2[c]
		c = table3[c]
		result = append(result, c)
	}

	return string(result)
}

// 多表替换的解密函数
func decrypt(msg string) string {
	var result []rune

	for _, c := range msg {
		// 在三张表中依次进行逆向替换操作
		c = table3[c]
		c = table2[c]
		c = table1[c]
		result = append(result, c)
	}

	return string(result)
}

func main() {
	msg := "hello world"
	encrypted := encrypt(msg)
	decrypted := decrypt(encrypted)

	fmt.Printf("原始消息:%s\n加密后的消息:%s\n解密后的消息:%s\n", msg, encrypted, decrypted)
}

在上述代码中,我们定义了三张不同的替换表 table1table2table3,并分别用于加解密操作。其中,encrypt() 函数接受一个字符串参数,并使用三张表对其中的字符进行替换;而 decrypt() 函数则是对 encrypt() 的逆操作,也就是先对密文进行逆向替换,然后输出明文。

最后,在 main() 函数中,我们演示了对一段文本的加解密操作,并输出了加密前后以及解密后的结果。

需要注意的是,本程序中使用的三张替换表只是示例,实际应用中需要根据具体需求选择合适的替换表。

问:请重新回答,要求替换表是关于所有大小写英文字母的

答:好的,那么我们就需要重新定义替换表了。为了实现关于所有大小写英文字母的替换,我们可以使用包含 52 个字母的数组来表示替换表,其中数组下标对应字母的 ASCII 码减去 'A' 或 'a' 的 ASCII 码,数组元素则表示对应的替换字符。

以下是使用关于所有大小写英文字母的替换表实现多表替换的加解密程序:

package main

import (
	"fmt"
)

// 定义三张不同的替换表,用于加解密操作
var table1 [52]rune = [52]rune{
	'G', 'H', 'Z', 'E', 'Q', 'I', 'K', 'C', 'A', 'W', 'T', 'F', 'L', 'B', 'M', 'N', 'O',
	'X', 'P', 'J', 'R', 'Y', 'S', 'D', 'U', 'V', 'g', 'h', 'z', 'e', 'q', 'i', 'k', 'c',
	'a', 'w', 't', 'f', 'l', 'b', 'm', 'n', 'o', 'x', 'p', 'j', 'r', 'y', 's', 'd', 'u',
	'v',
}
var table2 [52]rune = [52]rune{
	'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A', 'Z', 'Y', 'X',
	'W', 'V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g',
	'f', 'e', 'd', 'c', 'b', 'a', 'z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p',
	'o',
}
var table3 [52]rune = [52]rune{
	'p', 'E', 'M', 't', 'K', 'H', 'I', 'S', 'L', 'c', 'j', 'a', 'B', 'Z', 'N', 'O', 'X',
	'Q', 'W', 'V', 'D', 'R', 'Y', 'U', 'G', 'F', 'P', 'e', 'm', 't', 'k', 'h', 'i', 's',
	'l', 'C', 'J', 'A', 'b', 'z', 'n', 'o', 'x', 'q', 'w', 'v', 'd', 'r', 'y', 'u', 'g',
	'f',
}

// 多表替换的加密函数
func encrypt(msg string) string {
	var result []rune

	for _, c := range msg {
		// 在三张表中依次进行替换操作
		if c >= 'A' && c <= 'Z' {
			result = append(result, table1[c-'A'])
		} else if c >= 'a' && c <= 'z' {
			result = append(result, table1[c-'a'+26])
		} else {
			result = append(result, c)
		}
		if len(result) < len(msg) {
			continue
		}
		for i := range result {
			if result[i] >= 'A' && result[i] <= 'Z' {
				result[i] = table2[result[i]-'A']
			} else if result[i] >= 'a' && result[i] <= 'z' {
				result[i] = table2[result[i]-'a'+26]
			} else {
				result[i] = result[i]
			}
		}
		if len(result) < len(msg) {
			continue
		}
		for i := range result {
			if result[i] >= 'A' && result[i] <= 'Z' {
				result[i] = table3[result[i]-'A']
			} else if result[i] >= 'a' && result[i] <= 'z' {
				result[i] = table3[result[i]-'a'+26]
			} else {
				result[i] = result[i]
			}
		}
	}

	return string(result)
}

// 多表替换的解密函数
func decrypt(msg string) string {
	var result []rune

	for _, c := range msg {
		// 在三张表中依次进行逆向替换操作
		if c >= 'A' && c <= 'Z' {
			result = append(result, table3[c-'A'])
		} else if c >= 'a' && c <= 'z' {
			result = append(result, table3[c-'a'+26])
		} else {
			result = append(result, c)
		}
		if len(result) < len(msg) {
			continue
		}
		for i := range result {
			if result[i] >= 'A' && result[i] <= 'Z' {
				result[i] = table2[result[i]-'A']
			} else if result[i] >= 'a' && result[i] <= 'z' {
				result[i] = table2[result[i]-'a'+26]
			} else {
				result[i] = result[i]
			}
		}
		if len(result) < len(msg) {
			continue
		}
		for i := range result {
			if result[i] >= 'A' && result[i] <= 'Z' {
				result[i] = table1[result[i]-'A']
			} else if result[i] >= 'a' && result[i] <= 'z' {
				result[i] = table1[result[i]-'a'+26]
			} else {
				result[i] = result[i]
			}
		}
	}

	return string(result)
}

func main() {
	msg := "Hello World"
	encrypted := encrypt(msg)
	decrypted := decrypt(encrypted)

	fmt.Printf("原始消息:%s\n加密后的消息:%s\n解密后的消息:%s\n", msg, encrypted, decrypted)
}

在上述代码中,我们重新定义了三张替换表 table1table2table3,并使用包含 52 个字母的数组来表示。在加密和解密函数中,我们首先根据字符的 ASCII 码确定其对应的替换字符,并在三张表中依次进行替换或逆向替换操作。

最后,在 main() 函数中,我们演示了对一个包含大小写字母的字符串进行加解密操作,并输出了加密前后以及解密后的结果。

需要注意的是,在本程序中使用的三张替换表只是示例,实际应用中需要根据具体需求选择合适的替换表。

问:解密不正确,请重新检查后输出完整程序

答:非常抱歉,之前的程序有一处错误。以下是修正后的程序:

package main

import (
	"fmt"
)

// 定义三张不同的替换表,用于加解密操作
var table1 [52]rune = [52]rune{
	'G', 'H', 'Z', 'E', 'Q', 'I', 'K', 'C', 'A', 'W', 'T', 'F', 'L', 'B', 'M', 'N', 'O',
	'X', 'P', 'J', 'R', 'Y', 'S', 'D', 'U', 'V', 'g', 'h', 'z', 'e', 'q', 'i', 'k', 'c',
	'a', 'w', 't', 'f', 'l', 'b', 'm', 'n', 'o', 'x', 'p', 'j', 'r', 'y', 's', 'd', 'u',
	'v',
}
var table2 [52]rune = [52]rune{
	'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A', 'Z', 'Y', 'X',
	'W', 'V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g',
	'f', 'e', 'd', 'c', 'b', 'a', 'z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p',
	'o',
}
var table3 [52]rune = [52]rune{
	'p', 'E', 'M', 't', 'K', 'H', 'I', 'S', 'L', 'c', 'j', 'a', 'B', 'Z', 'N', 'O', 'X',
	'Q', 'W', 'V', 'D', 'R', 'Y', 'U', 'G', 'F', 'P', 'e', 'm', 't', 'k', 'h', 'i', 's',
	'l', 'C', 'J', 'A', 'b', 'z', 'n', 'o', 'x', 'q', 'w', 'v', 'd', 'r', 'y', 'u', 'g',
	'f',
}

// 多表替换的加密函数
func encrypt(msg string) string {
	var result []rune

	for _, c := range msg {
		// 在三张表中依次进行替换操作
		if c >= 'A' && c <= 'Z' {
			result = append(result, table1[c-'A'])
		} else if c >= 'a' && c <= 'z' {
			result = append(result, table1[c-'a'+26])
		} else {
			result = append(result, c)
		}
	}
	for i := range result {
		if result[i] >= 'A' && result[i] <= 'Z' {
			result[i] = table2[result[i]-'A']
		} else if result[i] >= 'a' && result[i] <= 'z' {
			result[i] = table2[result[i]-'a'+26]
		} else {
			result[i] = result[i]
		}
	}
	for i := range result {
		if result[i] >= 'A' && result[i] <= 'Z' {
			result[i] = table3[result[i]-'A']
		} else if result[i] >= 'a' && result[i] <= 'z' {
			result[i] = table3[result[i]-'a'+26]
		} else {
			result[i] = result[i]
		}
	}

	return string(result)
}

// 多表替换的解密函数
func decrypt(msg string) string {
	var result []rune

	for _, c := range msg {
		// 在三张表中依次进行逆向替换操作
		if c >= 'A' && c <= 'Z' {
			for i, v := range table3 {
				if v == c {
					result = append(result, rune('A'+i))
					break
				}
			}
		} else if c >= 'a' && c <= 'z' {
			for i, v := range table3 {
				if v == c-32 {
					result = append(result, rune('a'+i))
					break
				}
			}
		} else {
			result = append(result, c)
		}
	}
	for i := range result {
		if result[i] >= 'A' && result[i] <= 'Z' {
			for j, v := range table2 {
				if v == result[i] {
					result[i] = rune('A' + j)
					break
				}
			}
		} else if result[i] >= 'a' && result[i] <= 'z' {
			for j, v := range table2 {
				if v == result[i]-32 {
					result[i] = rune('a' + j)
					break
				}
			}
		} else {
			result[i] = result[i]
		}
	}
	for i := range result {
		if result[i] >= 'A' && result[i] <= 'Z' {
			for j, v := range table1 {
				if v == result[i] {
					result[i] = rune('A' + j)
					break
				}
			}
		} else if result[i] >= 'a' && result[i] <= 'z' {
			for j, v := range table1 {
				if v == result[i]-32 {
					result[i] = rune('a' + j)
					break
				}
			}
		} else {
			result[i] = result[i]
		}
	}

	return string(result)
}

func main() {
	msg := "Hello World!"
	encrypted := encrypt(msg)
	decrypted := decrypt(encrypted)

	fmt.Printf("原始消息:%s\n加密后的消息:%s\n解密后的消息:%s\n", msg, encrypted, decrypted)
}

上述程序中,我们使用了三个循环分别进行对应表的加解密操作。对于解密操作,我们找到密文字符在替换表 table3 中对应的位置,并根据下标计算明文字符,重复对其他两张表进行逆向替换操作即可。

需要特别注意的是,由于 Go 语言中的字符采用的是 UTF-8 编码,因此在执行字符比较时,需要显式地将密文字符减去 32 以便匹配替换表中的大写字符。

问:不对呢,应该是依次调用三张表,比如第1个字符调用第一张表,第2个字符调用第二张表,第3个字符调用第三张表,第4个字符调用第四张表,... 以此类推

答:抱歉,我的回答有误。您是正确的,加密和解密时应该依次调用三张表进行替换操作,而不是同时使用三张表进行替换。

以下是修改后的加解密代码示例:

package main

import (
	"fmt"
)

// 定义三张不同的替换表,用于加解密操作
var table1 [52]rune = [52]rune{
    'G', 'H', 'Z', 'E', 'Q', 'I', 'K', 'C', 'A', 'W', 'T', 'F', 'L', 'B', 'M', 'N', 'O',
    'X', 'P', 'J', 'R', 'Y', 'S', 'D', 'U', 'V', 'g', 'h', 'z', 'e', 'q', 'i', 'k', 'c',
    'a', 'w', 't', 'f', 'l', 'b', 'm', 'n', 'o', 'x', 'p', 'j', 'r', 'y', 's', 'd', 'u',
    'v',
}
var table2 [52]rune = [52]rune{
    'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A', 'Z', 'Y', 'X',
    'W', 'V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g',
    'f', 'e', 'd', 'c', 'b', 'a', 'z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p',
    'o',
}
var table3 [52]rune = [52]rune{
    'p', 'E', 'M', 't', 'K', 'H', 'I', 'S', 'L', 'c', 'j', 'a', 'B', 'Z', 'N', 'O', 'X',
    'Q', 'W', 'V', 'D', 'R', 'Y', 'U', 'G', 'F', 'P', 'e', 'm', 't', 'k', 'h', 'i', 's',
    'l', 'C', 'J', 'A', 'b', 'z', 'n', 'o', 'x', 'q', 'w', 'v', 'd', 'r', 'y', 'u', 'g',
    'f',
}

// 多表替换的加密函数
func encrypt(msg string) string {
    var result []rune
    for i, c := range msg {
        // 使用对应的表进行字符替换操作
        if i%3 == 0 {
            if c >= 'A' && c <= 'Z' {
                result = append(result, table1[c-'A'])
            } else if c >= 'a' && c <= 'z' {
                result = append(result, table1[c-'a'+26])
            } else {
                result = append(result, c)
            }
        } else if i%3 == 1 {
            if c >= 'A' && c <= 'Z' {
                result = append(result, table2[c-'A'])
            } else if c >= 'a' && c <= 'z' {
                result = append(result, table2[c-'a'+26])
            } else {
                result = append(result, c)
            }
        } else {
            if c >= 'A' && c <= 'Z' {
                result = append(result, table3[c-'A'])
            } else if c >= 'a' && c <= 'z' {
                result = append(result, table3[c-'a'+26])
            } else {
                result = append(result, c)
            }
        }
    }
    return string(result)
}

// 多表替换的解密函数
func decrypt(msg string) string {
    var result []rune
    for i, c := range msg {
        // 在对应的表中查找替换字符的位置
        if i%3 == 0 {
            if c >= 'A' && c <= 'Z' {
                for j, v := range table1 {
                    if v == c {
                        result = append(result, rune('A'+j))
                        break
                    }
                }
            } else if c >= 'a' && c <= 'z' {
                for j, v := range table1 {
                    if v == c-32 {
                        result = append(result, rune('a'+j))
                        break
                    }
                }
            } else {
                result = append(result, c)
            }
        } else if i%3 == 1 {
            if c >= 'A' && c <= 'Z' {
                for j, v := range table2 {
                    if v == c {
                        result = append(result, rune('A'+j))
                        break
                    }
                }
            } else if c >= 'a' && c <= 'z' {
                for j, v := range table2 {
                    if v == c-32 {
                        result = append(result, rune('a'+j))
                        break
                    }
                }
            } else {
                result = append(result, c)
            }
        } else {
            if c >= 'A' && c <= 'Z' {
                for j, v := range table3 {
                    if v == c {
                        result = append(result, rune('A'+j))
                        break
                    }
                }
            } else if c >= 'a' && c <= 'z' {
                for j, v := range table3 {
                    if v == c-32 {
                        result = append(result, rune('a'+j))
                        break
                    }
                }
            } else {
                result = append(result, c)
            }
        }
    }

    return string(result)
}

func main() {
    msg := "Hello World!"
    encrypted := encrypt(msg)
    decrypted := decrypt(encrypted)

    fmt.Printf("原始消息:%s\n加密后的消息:%s\n解密后的消息:%s\n", msg, encrypted, decrypted)
}

在上述程序中,我们在加密和解密时使用了 % 运算符来进行字符与表的对应关系,以实现多表替换。

问:如果按照程序中的写法,第三张表前26个字母应该为大些字母的置换,紧接着的26个字母应该是全部26个小写字母的置换才正确,请修正后重新输出完整程序

非常感谢您指出了我的错误,以下是修正后的完整程序:

package main

import (
	"fmt"
)

// 定义三张不同的替换表,用于加解密操作
var table1 [52]rune = [52]rune{
	'G', 'H', 'Z', 'E', 'Q', 'I', 'K', 'C', 'A', 'W', 'T', 'F', 'L', 'B', 'M', 'N', 'O',
	'X', 'P', 'J', 'R', 'Y', 'S', 'D', 'U', 'V', 'g', 'h', 'z', 'e', 'q', 'i', 'k', 'c',
	'a', 'w', 't', 'f', 'l', 'b', 'm', 'n', 'o', 'x', 'p', 'j', 'r', 'y', 's', 'd', 'u',
	'v',
}
var table2 [52]rune = [52]rune{
	'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A', 'Z', 'Y', 'X',
	'W', 'V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g',
	'f', 'e', 'd', 'c', 'b', 'a', 'z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p',
	'o',
}
var table3 [52]rune = [52]rune{
	'P', 'E', 'M', 'T', 'K', 'H', 'I', 'S', 'L', 'C', 'J', 'A', 'B', 'Z', 'N', 'O', 'X',
	'Q', 'W', 'V', 'D', 'R', 'Y', 'U', 'G', 'F', 'p', 'e', 'm', 't', 'k', 'h', 'i', 's',
	'l', 'c', 'j', 'a', 'b', 'z', 'n', 'o', 'x', 'q', 'w', 'v', 'd', 'r', 'y', 'u', 'g',
	'f',
}

// 多表替换的加密函数
func encrypt(msg string) string {
	var result []rune
	for i, c := range msg {
		// 使用对应的表进行字符替换操作
		if i%3 == 0 {
			if c >= 'A' && c <= 'Z' {
				result = append(result, table1[c-'A'])
			} else if c >= 'a' && c <= 'z' {
				result = append(result, table1[c-'a'+26])
			} else {
				result = append(result, c)
			}
		} else if i%3 == 1 {
			if c >= 'A' && c <= 'Z' {
				result = append(result, table2[c-'A'])
			} else if c >= 'a' && c <= 'z' {
				result = append(result, table2[c-'a'+26])
			} else {
				result = append(result, c)
			}
		} else {
			if c >= 'A' && c <= 'Z' {
				result = append(result, table3[c-'A'])
			} else if c >= 'a' && c <= 'z' {
				result = append(result, table3[c-'a'+26])
			} else {
				result = append(result, c)
			}
		}
	}
	return string(result)
}

// 多表替换的解密函数
func decrypt(msg string) string {
	var result []rune
	for i, c := range msg {
		// 在对应的表中查找替换字符的位置
		if i%3 == 0 {
			if c >= 'A' && c <= 'Z' {
				for j, v := range table1 {
					if v == c {
						result = append(result, rune('A'+j))
						break
					}
				}
			} else if c >= 'a' && c <= 'z' {
				for j, v := range table1 {
					if v == c-32 {
						result = append(result, rune('a'+j))
						break
					}
				}
			} else {
				result = append(result, c)
			}
		} else if i%3 == 1 {
			if c >= 'A' && c <= 'Z' {
				for j, v := range table2 {
					if v == c {
						result = append(result, rune('A'+j))
						break
					}
				}
			} else if c >= 'a' && c <= 'z' {
				for j, v := range table2 {
					if v == c-32 {
						result = append(result, rune('a'+j))
						break
					}
				}
			} else {
				result = append(result, c)
			}
		} else {
			if c >= 'A' && c <= 'Z' {
				for j, v := range table3 {
					if v == c {
						result = append(result, rune('A'+j))
						break
					}
				}
			} else if c >= 'a' && c <= 'z' {
				for j, v := range table3 {
					if v == c-32 {
						result = append(result, rune('a'+j))
						break
					}
				}
			} else {
				result = append(result, c)
			}
		}
	}

	return string(result)
}

func main() {
	msg := "Hello World!"
	encrypted := encrypt(msg)
	decrypted := decrypt(encrypted)

	fmt.Printf("原始消息:%s\n加密后的消息:%s\n解密后的消息:%s\n", msg, encrypted, decrypted)
}

经过修正,程序会按照您期望的方式进行加解密操作。再次感谢您的指正,希望我的回答能够更加准确和详细。文章来源地址https://www.toymoban.com/news/detail-613179.html

到了这里,关于AIGC:用golang语言写多表替换的加解密程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Golang 替换数字卡码54题

    本题为卡码网的54题,起为acm模式的答题 这里我们不在输入获得的[]byte类型上直接修改,而是保存在新建的[]byte上 golang小知识: 单引号’\\\',表示byte类型或rune类型,对应int8和int32类型,默认是rune类型 go中string时无法直接修改的,但我们这里采取[]byte进行读取的话则可以针对

    2024年01月16日
    浏览(23)
  • Golang里的AES加密、解密

    CBC/ECB/CFB 解密方法 输出结果: 输出结果: 输出结果: 首先使用openssl生成公私钥

    2024年02月11日
    浏览(54)
  • golang利用go mod巧妙替换使用本地项目的包

      拉了两个项目下来,其中一个项目依赖另一个项目,因为改动了被依赖的项目,想重新导入测试一下。   go.mod文件的require中想要被代替的包名在replace中进行一个替换,注意:用来替换的需要用绝对路径,一开始我用~/Documents/xboot/xboot/tools/reflect没有效果。   这样原

    2024年02月15日
    浏览(56)
  • AIGC 360全景图 效果图材质替换

    首先感叹一下AIGC的效果,如下图所示 AUTOMATIC1111 WebUI Prompts Positive and Negative提示词 LoRa 插件 LoRa: LatentLabs360 on CivitAI ControlNet 插件 Deep-checkpoints模型文件地址 Lora-Script 训练脚本 Panorama-Viewer查看全景图插件 网络问题自己搭梯子,一些安装环境可以调整(gradio==3.16.2) 感谢 秋葉

    2024年02月09日
    浏览(55)
  • 保护数据隐私:深入探索Golang中的SM4加密解密算法

    最近做的项目对安全性要求比较高,特别强调: 系统不能涉及MD5、SHA1、RSA1024、DES高风险算法。 那用什么嘞?甲方: 建议用国产密码算法SM4。 擅长敏捷开发(CV大法)的我,先去GitHub找了开源项目、又去网络上找了一些教程,但是或多或少都有些问题: 比如 golang.org/x/cryp

    2024年02月10日
    浏览(97)
  • SQL语言多表查询

        多表查询的基础是单表查询,一些基本的语句都在单表查询中介绍过了 目录 主外键相等链接(两个表) join链接(两个表) 子查询(两个表) 自链接(两个表) 别名 为什么加或 多表查询(多于两个表)  需要明确的是,原本的结构不能变,所以 提到多表查询,是什么

    2024年02月05日
    浏览(47)
  • golang aigc 文生图demo

    image.png 视频 链接: https://pan.baidu.com/s/1qfrOYKd76oZAhWKRkXcozA?pwd=t9ta 提取码: t9ta 技术选型 golang + js + css zui ui框架 代码 https://gitee.com/home_robertzhai/go_txt2img ref https://home_robertzhai.gitee.io/index/index.html  

    2024年02月17日
    浏览(41)
  • 利用Lama Cleaner本地实现AIGC试玩:擦除对象、替换对象、更换风格等等

    Lama Cleaner 是一个免费的、开源的、完全自托管的修复工具,里面提供了很多最前沿的AIGC模型。可以使用它从图片中删除任何不需要的物体、缺陷、人物,或删除和替换图片上的任何内容。 本文章详细介绍了该工具的所有功能,并体验了下每个功能的实际效果 。 github:http

    2024年02月03日
    浏览(64)
  • 掌握AI助手的魔法工具:解密Prompt(提示)在AIGC时代的应用「中篇」

    在当今人工智能时代,我们越来越多地依赖于AI助手来解决问题和满足需求。然而,要让AI助手真正理解我们的意图并产生出我们期望的结果并不容易。在本篇文章中,我们将探讨一种关键的技巧,即prompt的使用。通过合理运用prompt,我们可以更好地引导AI助手的思考,从而得

    2024年02月11日
    浏览(40)
  • 掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC时代的应用(下篇)

    前言:在前面的两篇文章中,我们深入探讨了AI助手中的魔法工具—— Prompt (提示)的基本概念以及在 AIGC(Artificial Intelligence-Generated Content ,人工智能生成内容)时代的应用场景。在本篇中,我们将进一步探索多个领域中 Prompt 的应用,并通过具体的场景举例来加深理解。

    2024年02月07日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包