I wrote up some code in response to a question on the Genesis community forum. What it does is register a sidebar for each post category (including new ones) and outputs the sidebar when a single post has the corresponding category and the sidebar has a widget in it. Note that this code is specific to the Genesis Framework. That said, you can still adapt it to a non-Genesis theme by using register_sidebar() to add the sidebars and modifying your theme’s appropriate files (i.e. sidebar.php) for the output. Another thing to take note of is that this code will output the sidebar for each category (if the sidebar has a widget) so, if a post has multiple categories, it will output multiple sidebars.
Unless otherwise noted, any code snippet in this post goes in your theme's functions.php file or a plugin for your custom functions.